将对象传递给plyr的重命名()

时间:2013-11-30 04:31:34

标签: r plyr

是否可以将变量传递给rename?例如:

fake1 <- rename(mtcars, replace=c("mpg"="new.mpg"))

工作得很好。然而,

old_name <- "mpg"
fake2 <- rename(mtcars, replace=c(old_name="new.mpg"))

无法将old_name映射到"mpg",而是从The following x values were not present in发出警告: old_name

显然我可以使用类似

的名称重命名
names(mtcars)[names(mtcars)==old_name] <- "new.mpg"

rename非常方便(我也不太明白为什么变量不会被解释为它所代表的字符串)。

1 个答案:

答案 0 :(得分:3)

请改为尝试:

rename(mtcars,replace = setNames("new.mpg",old_name))