替换 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"
字符串(你的顺序错了)。
我有一个包含去标识化信息的数据框,如下所示
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"
字符串(你的顺序错了)。