我在这里看到很多问题,解决了将因子转换为数字变量的问题,但似乎没有解决我想要做的事情。
我想在数据框中创建一个新列,其中包含现有因子的数字表示。我试过了:
df$num = as.numeric(df$factor)
哪个转换了因子但没有根据需要订购它们。如何明确定义每个因子的数值?有点像:
df$num = ("1" if factor == "GB", "2" if factor == "YT", "3" if factor == "BF")
答案 0 :(得分:0)
假设您有一个因子变量num
,其中有3个级别(GB
,YT
,BF
),您希望将其分析为数字。
我首先转换为角色解决了类似的问题,例如:
df$num <- as.character(df$num)
然后重新编码为数值
df$num <- recode(df$num, "GB" = 1, "YT" = 2, "BF" = 3)
这不优雅,但这个策略适用于我类似的问题。