如何重新编码数据框中字符列的值?

How to recode values of a character column in a dataframe?

初学者问题:重命名数据框列中的变量观察的简单方法是什么?

我有一个数据框“Stuff”,其中有一列名为“Age”的分类数据,其中一个数据变量称为“Age80+”。我了解到 R 不喜欢名称中的“+”,

例如80 岁以上 <- 出现错误

在“年龄”列中还有 7 个其他变量数字,例如“Age18_30”所以我无法有效地手动更改观察名称。

我已经看过,但我没有找到一种简单的方法来将所有“Age80+”重命名为“Age80plus”,而无需引入像“stringer”或“dplyr”这样的复杂包。数据框有 100 个“Age80+”观察值。

谢谢

我试过了

Stuff$Age<- gsub("Age80+", "Age80plus", Stuff$Age)

但这会将“Age80+”更改为“Age80plus+”而不是“Age80plus”

更改留下“+”

+ 是一个特殊字符,也称为正则表达式,如果您想要实际字符,可以转义 \+

dat <- transform(dat, age=gsub('Age80\+', 'Age80plus', age))
dat
#   id       age          x
# 1  1 Age80plus -0.9701187
# 2  2 Age80plus -0.5522213
# 3  3 Age80plus -1.6060125
# 4  4     Age60 -1.5417523
# 5  5     Age40 -1.9090871

数据:

dat <- structure(list(id = 1:5, age = c("Age80+", "Age80+", "Age80+", 
"Age60", "Age40"), x = c(-0.970118672988532, -0.552221336521097, 
-1.60601248510621, -1.54175233366043, -1.909087068272)), class = "data.frame", row.names = c(NA, 
-5L))