替换R列值

时间:2015-03-13 02:52:54

标签: r replace dataframe

我搞砸了将调查数据输入数据框,我有一个值为P,G,S和N的列。我需要将P替换为1,G替换为2,S替换为3,N替换为4。

df1$type <- replace(as.numeric(df1$type), df1$type == "P", "1")

我尝试使用它,但这会影响所有值而不仅仅是P.

如何单独更换每个值? P,G,S和N是随机排列的,所以我不能用1,2,3,4的重复列填充它。

1 个答案:

答案 0 :(得分:2)

怎么样

df1$type <- as.numeric(factor(df1$type, levels=c("P","G","S","N")))
R中的

因子变量自动为每个级别分配一个整数。通过使用as.numeric(),您可以提取整数值(只需确保您的级别按正确的顺序排列)。