按位置重命名R中的一组列

时间:2017-10-26 12:19:08

标签: r dataframe

我有一个数据框,我想重命名30列45列。这30列具有不同的名称(它们来自不同的来源),但它们始终位于数据框中的位置2:31。有没有办法按names(df)[2:31]<- c("name1", "name2", ..., "name30")的方式重命名专栏2:31?或者,有没有办法使用dplyr的rename命令而不给出列的名称而是给出它们的位置?

我知道这是基本的,但我能找到的所有解决方案都需要相反,在未知位置重命名一个已知名称的列。

1 个答案:

答案 0 :(得分:2)

使用colnames()功能

X <- data.frame(bad=1:3, worse=1:3)
colnames(X)[1:2] <- c("name1", "name2")

您可以使用colnames()然后使用名称对子集进行子集传递。希望它有所帮助。