我正在尝试更改数据框中的一些变量名称。在不输入每个旧名称和每个新名称的情况下如何做到这一点?我认为下面的代码可能有效,但它没有。我正在尝试将“Econ”附加到数据框中标识的每个现有名称。
names(wb.misc)[3,13,14,20,22,47,61,62,64,68,73] <-
paste("Econ", names(wb.misc)[3,13,14,20,22,47,61,62,64,68,73], sep = "-")
你需要把c()
索引
names(wb.misc)[c(3,13,14,20,22,47,61,62,64,68,73)] = paste("Econ", names(wb.misc)[c(3,13,14,20,22,47,61,62,64,68,73)], sep = "-")
一种有效获取变量名称的方法是使用dput(names(df))
where df
is your data.frame。
例如,使用内置 dataset airquality
,您可以执行以下操作
dput(names(airquality))
这给了你:
c("Ozone", "Solar.R", "Wind", "Temp", "Month", "Day")
然后,您可以编辑以提取所需的列,而无需从头开始键入它们。例如,假设您要重命名以下三个变量,您可以使用rename.vars
in gdata
。
vars <- c("Ozone", "Wind", "Temp")
library(gdata)
rename.vars(airquality, from=vars, to=paste0("Econ", vars))
使用实际的变量名通常也会使您的代码更可靠。