有20列的數據框training
。第一列被稱爲「目標」。我想更改列名稱2:20,如下所示X1,X2,X3,...如何重新命名從第二個列開始的列?
如果我運行此命令,則所有列都將被重命名,包括第一個(目標)。
names(training) <- paste("X", 1:ncol(training), sep="");
如何重命名列從第二個開始?
有20列的數據框training
。第一列被稱爲「目標」。我想更改列名稱2:20,如下所示X1,X2,X3,...如何重新命名從第二個列開始的列?
如果我運行此命令,則所有列都將被重命名,包括第一個(目標)。
names(training) <- paste("X", 1:ncol(training), sep="");
如何重命名列從第二個開始?
colnames(training)[2:20]<-paste("X", 1:19, sep="")
以上是非常好的。注意,'colnames'等價於'names','paste0'比'paste'更有效率。因此,您可以將代碼略微修剪爲名稱(訓練)[2:20] < - paste0(「X」,1:19)'。 – KFB
@KFB,'colnames'不等於'names' - 剛好碰到'data.frame'的情況。 – A5C1D2H2I1M1N2O1R2T1
@KFB,你能否詳細說明爲什麼'paste0'比'paste'更有效率?我懷疑。 – flodel
那麼,當然,如果你全部選中它們,它們全部都會被重新命名。爲什麼不用''''提取選擇你感興趣的那些? – A5C1D2H2I1M1N2O1R2T1
也許'名稱(訓練)[ - 1] < - paste0('X',1:(ncol(訓練)-1))' – akrun
@ Ananda Mahto:我試過訓練[, - 1]。但是,正如我看到的正確方法是使用(培訓)-1 –