有人应该已经问过这个问题,但我找不到答案。说我有:按名称重命名多列
x = data.frame(q=1,w=2,e=3, ...and many many columns...)
什么是最优雅的方式重命名列的任意子集,其位置我并不知道,到一些其它任意名字?
例如假设我想将"q"
和"e"
重命名为"A"
和"B"
,那么执行此操作最优雅的代码是什么?
很显然,我可以做一个循环:
oldnames = c("q","e")
newnames = c("A","B")
for(i in 1:2) names(x)[names(x) == oldnames[i]] = newnames[i]
但我不知道是否有更好的办法?也许使用一些软件包? (plyr::rename
等)
太棒了! upvoted。但我想我应该等一下,看看是否有其他解决方案出现。 – qoheleth
对于迟到的这里 - 也请看下面的[Joel的答案](http://stackoverflow.com/a/36010381/4606130),其中包括检查现有的列,以防您有一个名称更改列表,可能并非所有在场,例如'old = c(“a”,“d”,“e”)' – micstr