相关疑难解决方法(0)

按名称重命名多个列

有人应该已经问过这个,但我找不到答案.说我有:

x = data.frame(q=1,w=2,e=3, ...and many many columns...)  
Run Code Online (Sandbox Code Playgroud)

将我不一定知道的位置的任意子列重命名为其他任意名称的最优雅方法是什么?

例如说我要重新命名"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]
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法?也许使用一些包?(plyr::rename等)

r rename dataframe r-faq

63
推荐指数
10
解决办法
13万
查看次数

在dplyr链中动态重命名列名

这是一个例子

temp <- mtcars
colnames(temp)[grepl("ge", colnames(temp))] <- "garbage"
Run Code Online (Sandbox Code Playgroud)

产量

                     mpg cyl  disp  hp drat    wt  qsec vs am garbage carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1       4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1       4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1       4    1
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0       3    1
Hornet Sportabout   18.7   8 360.0 175 …
Run Code Online (Sandbox Code Playgroud)

r rename dplyr

2
推荐指数
1
解决办法
2535
查看次数

标签 统计

r ×2

rename ×2

dataframe ×1

dplyr ×1

r-faq ×1