2012-07-22 149 views
6

我正在將庫存數據的csv導入到R中,列表名稱中包含以數字開頭且包含空格的股票代碼。 「5560 JP」。在讀入R之後,列名稱被添加「X」並且空間被「。」替換,例如, 「X5560.JP」。在所有工作都在R中完成後,我想將處理後的數據寫回到新的csv,但是使用原始列名稱,例如「5560 JP」而不是「X5560.JP」,我該怎麼做?R - 以數字開頭且包含空格的read.table和write.table中的列名稱

謝謝!

+1

打電話給你的變量'df',試試這個'名(DF) Ryogi 2012-07-22 00:37:54

+4

'read.table'的'check.names'參數會繞過名稱更改,我想。您可以保存這些名稱,並在最終導出前使用它們。 – baptiste 2012-07-22 00:52:27

+0

謝謝你 – Joyce 2012-07-22 02:35:05

回答

19

當您使用write.csv或write.table將數據保存到CSV文件時,可以通過設置col.names參數將列名設置爲任何您喜歡的內容。

但是,假設您有列名稱可用。 一旦你閱讀了數據並且R已經轉換了名字,你就失去了這些信息。爲了解決這個問題,你可以抑制轉換得到的列名: - 「\\」

df <- read.csv("mydata.csv", check.names=FALSE) 
orig.cols <- colnames(df) 
colnames(df) <- make.names(colnames(df)) 

[your original code] 

write.csv(df, col.names=orig.cols) 
+0

這很酷,非常感謝! – Joyce 2012-07-22 02:34:58

相關問題