【发布时间】:2017-10-23 21:57:45
【问题描述】:
我想用dplyr 中的变量来重命名一个特定的列。
newName = paste0('nameY', 2017)
我尝试的是
iris %>%
rename(newName = Petal.Length) %>%
head(2)
这给了
Sepal.Length Sepal.Width newName Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
我收到的是newName 而不是nameY2017,这很正常。所以我尝试了
iris %>%
rename_(eval(newName) = 'Petal.Length')
但是我得到了一个错误。
错误:“iris %>% rename_(eval(newName) ="
中出现意外的 '='
dplyr 有合适的方法吗?
我知道我可以做类似的事情
names(iris)[3] <- newName
但这不是dplyr 解决方案。
【问题讨论】:
-
这里已经回答了这个问题:stackoverflow.com/questions/36520813/…
-
你试过
names(iris)[which(names(iris) %in% "newName")] <- paste0('nameY', 2017)。不是dplyr,但它应该可以工作。