有人应该已经问过这个,但我找不到答案.说我有:
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等)
这是一个例子
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)