我有一个数据框,我想重命名30列45列。这30列具有不同的名称(它们来自不同的来源),但它们始终位于数据框中的位置2:31。有没有办法按names(df)[2:31]<- c("name1", "name2", ..., "name30")
的方式重命名专栏2:31?或者,有没有办法使用dplyr的rename
命令而不给出列的名称而是给出它们的位置?
我知道这是基本的,但我能找到的所有解决方案都需要相反,在未知位置重命名一个已知名称的列。
答案 0 :(得分:2)
使用colnames()
功能
X <- data.frame(bad=1:3, worse=1:3)
colnames(X)[1:2] <- c("name1", "name2")
您可以使用colnames()
然后使用名称对子集进行子集传递。希望它有所帮助。