如何将字符串附加到R中的变量名称子集?

时间:2013-02-23 22:06:15

标签: r rename

我正在尝试在数据框中更改我选择的几个变量名。如何在不键入每个旧名称和每个新名称的情况下执行此操作?我认为下面的代码可能有效,但事实并非如此。我试图将“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 = "-")

2 个答案:

答案 0 :(得分:9)

您需要将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 = "-")

答案 1 :(得分:0)

有效获取变量名称的一种方法是使用dput(names(df)),其中df是您的data.frame。

例如,使用内置数据集airquality,您可以执行以下操作

dput(names(airquality))

这给了你:

c("Ozone", "Solar.R", "Wind", "Temp", "Month", "Day")

然后,您可以编辑以提取所需的列,而无需从头开始输入。例如,假设您要重命名以下三个变量,可以在rename.vars中使用gdata

vars <- c("Ozone",  "Wind", "Temp")
library(gdata)
rename.vars(airquality, from=vars, to=paste0("Econ", vars))

使用实际变量名称通常也会使您的代码更可靠。