替换 R 中一列中的多个相似值

Replace multiple similar values in a column in R

我有一个包含去标识化信息的数据框,如下所示

Gender    Age   Score
 Male      2      7
 Male      6      1
 Male      5      5
 Male      3      9
 Female    9      11
 Female    12      11
 Female    6      11

我想将所有 2 替换为“5 岁”,将所有 3 替换为“6 岁”,依此类推。

我可以用这个

data$Age[data$Age ==2] <- 5 years old

但我的数据从 5 岁到 25 岁不等,重复 20 次并不完全吸引人。

我想要一个从 2 一直迭代到 22 的函数。

有更简单的方法吗?

谢谢

或许加3再粘贴“岁”就可以满足你的需要了?

 data$txtAge <- paste(data$Age, "years old")

不需要迭代命令。 R 的函数通常会自动迭代。在这种情况下,paste 命令被设计为 return 与最长输入参数长度相同的字符结果,但它“回收”(重复)较短的参数。您将获得与 data 对象中的行长度相同的列。

如 IRTFM 所说,您必须添加 3 并粘贴 "years old" 字符串。 由于您正在尝试将数字添加到字符串,因此您收到有关二元运算符的非数字参数的错误。

所以,让我们更明确一点:您必须先添加 3 然后 粘贴 "years old"字符串(你的顺序错了)。