重命名列时选择未定义的列

时间:2015-01-16 21:02:08

标签: r dataframe multiple-columns

我需要重命名数据框的列,不包括最后一列。这就是我这样做的方式:

data = as.data.frame(data )
names(data ) <- paste0('X', 1:(ncol(data )-1))

执行此代码后,我尝试打开数据框data,并显示以下错误消息:

Error in View : undefined columns selected

1 个答案:

答案 0 :(得分:1)

以下示例允许您选择要重命名的变量,而不管它们在数据框中的位置:

mydata <- mtcars
mydata = as.data.frame(mydata)
colnames <- names(mydata)
skipcols = c("carb","am")
#in your specific case: skipcols = names(mydata)[ncol(mydata)]
colnames[!colnames %in% skipcols]<- paste0("X",
                                           1:(ncol(mydata)- length(skipcols)))
names(mydata) <- colnames
[1] "X1"   "X2"   "X3"   "X4"   "X5"   "X6"
[7] "X7"   "X8"   "am"   "X9"   "carb"

如果你不关心可读性,你可以缩短它。