替换 R 列值

Replace R column values

我在数据框中输入调查数据时搞砸了,我有一列的值为 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 列填充它。

怎么样

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

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