2017-02-17 49 views
-1

你好,我是學習R的新手,我目前正在開發一個項目,在這個項目中,我需要改變列名以使它們更易於使用。我硬編碼每一個,因爲我的數據只有15列。但是,我想知道如果我正在研究更大的數據集,比如說50-100列,那麼對每個數據集進行硬編碼似乎都很乏味。我想知道是否有更簡單的方法來更改表中的每個列名稱而不是硬編碼每個名稱?是否可以更改R中的每個列名?

例如:

colnames(data)[1] = "X-1" 
colnames(data)[2] = "X-2" 
colnames(data)[3] = "X-3" 
colnames(data)[N] = "X-N" 
+0

爲什麼不呢?看起來和我很相似 – Jaap

+1

我在談論akrun的回答時,我對這種混亂表示歉意。我曾搜索過「在R中更改每個列名」,但沒有看到您指出的搜索結果。 – Sandman42

回答

0

我們可以paste

colnames(data) <- paste("X-", seq_along(data), sep="") 

這可能是最好使用下劃線(_)作爲分隔符

colnames(data) <- paste("X_", seq_along(data), sep="") 
+0

爲什麼不粘貼(「X」,seq_along(data),sep =「 - 」)'? (或者如果'sep'爲空字符串,最好使用'paste0') – Cath

+0

@Cath沒關係。我的觀點是'paste'比'paste0'更普遍。關於使用'sep =「_」'或'sep =「」',是有人可以使用的組合。我應該使用'sep =「 - 」',但是我想出了這個,並從RS中找到了一條評論,所以沒有改變 – akrun

相關問題