如何使用因子字符变量制作更小的类别

数据挖掘 r 数据集 数据清理 工作室 数据表
2022-02-25 12:16:08

我有这个数据集,其中包含国家/地区的 ISO3166 Alpha-2 代码。示例:DE、AD、AE 等它们在 R 中被编码为因子变量,大约有 173 个观测值。

现在因为太多了,这只会压倒箱线图,我想通过压缩代码并使用代码创建更短的类别(也编码为因子)来制作一个包含其他变量的列联表,例如,

DE、RE、ED、FR-> 欧洲

加利福尼亚州,美国-> 北美

VF、HG、HY、TY-> 南美

HG、TY、UT、FT -> 非洲

我怎么能这样做,因为我尝试了一些不起作用的东西。

谢谢!

PS这些代码是组成代码,但它只是为了说明。

1个回答

当你在 R 中尝试这个时,我在 Pyhton 中有一个解决方案。您可以在 R 中使用类似的逻辑:

# Say this is your list:
countries = ['IN', 'DE', 'US', 'UK']

# Create a list of countries in different continents like this:
asia = ['IN', 'NP']
america = ['US', 'CD']
europe = ['DE', 'UK', 'FR']

# You can then map your list with these values using a definition:
for i in range(len(countries)):
    if countries[i] in asia:
        countries[i] = 'Asia'
    elif countries[i] in america:
        countries[i] = 'America'
    elif countries[i] in europe:
        countries[i] = 'Europe'
    else:
        countries[i] = 'Others'

# Now check your list
countries
['Asia', 'Europe', 'America', 'Europe']

准备好此列表后,您可以创建箱线图。

希望这可以帮助。