R - 使用模式匹配的因子到数字转换

时间:2015-10-19 22:24:05

标签: r dataframe r-factor

我在这里看到很多问题,解决了将因子转换为数字变量的问题,但似乎没有解决我想要做的事情。

我想在数据框中创建一个新列,其中包含现有因子的数字表示。我试过了:

df$num = as.numeric(df$factor)

哪个转换了因子但没有根据需要订购它们。如何明确定义每个因子的数值?有点像:

df$num = ("1" if factor == "GB", "2" if factor == "YT", "3" if factor == "BF")

1 个答案:

答案 0 :(得分:0)

假设您有一个因子变量num,其中有3个级别(GBYTBF),您希望将其分析为数字。

我首先转换为角色解决了类似的问题,例如:

df$num <- as.character(df$num)

然后重新编码为数值

df$num <- recode(df$num, "GB" = 1, "YT" = 2, "BF" = 3)

这不优雅,但这个策略适用于我类似的问题。