2012-06-12 69 views
1

我有與在一個固定的寬度的格式(保存與來自MASS包write.matrix功能)正好是4行的headerfile。添加矩陣到多行標題中的R

現在我想用上面創建的頭文件創建一個新的Matrix。 R是否可以在矩陣中添加一個固定的多行標題(例如「text」)?

舉個例子:我有一個頭像

AB 
CDEF 123456 
GHIJK 789  101112 
LMNOP 

然後我想創建日期在第一列,然後將數據(從另一個文件)在第二列像

矩陣
892201 0.1 
892202 0.8 

等等。注意:它必須是所描述的格式,因爲該程序只是讀取上述固定寬度格式。

+0

我會很有用的看到用於生成頭的代碼。我假設頭文件是完全**,就像你在問題中顯示的一樣,將它複製並粘貼到我的文件中,然後運行我在我的答案中顯示的代碼,以針對該文件。 –

+0

使用readLines(textConnection))函數編寫頭文件。代碼是這樣的:fmtlines < - readLines(textConnection(「...」)) – user1439894

+0

我的意思是顯示你用來創建它的代碼(使用'write.matrix()'的代碼))。無論如何,如果我的答案幫助您解決問題,現在無關緊要。 –

回答

2

可以使用write.table()函數和append = TRUE參數將第二組數據寫入現有文件。

如果我有文件foo.txt與你展示的話,我可以先創建數據對象的一些日期和其他數據添加到該文件的標題我想附加:

dat <- data.frame(dates = Sys.Date() + 0:4, data = seq(0.1, 0.5, by = 0.1)) 

> dat 
     dates data 
1 2012-06-12 0.1 
2 2012-06-13 0.2 
3 2012-06-14 0.3 
4 2012-06-15 0.4 
5 2012-06-16 0.5 

的下面將追加dat不會對現有的頭文件,任何多餘的標題或行名稱

write.table(dat, "foo.txt", append = TRUE, col.names = FALSE, row.names = FALSE) 

foo.txt現在看起來是這樣的:

$ cat foo.txt 
AB 
CDEF 123456 
GHIJK 789  101112 
LMNOP 
2012-06-12 0.1 
2012-06-13 0.2 
2012-06-14 0.3 
2012-06-15 0.4 
2012-06-16 0.5 
+0

這就是我正在尋找的。我真的不明白「append」函數是如何工作的。謝謝!! – user1439894

+0

@ user1439894不客氣。如果您對答案滿意,請考慮接受答案,以便其他人知道此問題已成功解決並改進整體SO資源。請參閱常見問題的「如何問」部分以瞭解更多信息:[faq#howtoask] –

+0

當然可以。對不起,我是新手,所以我不知道這個功能。 – user1439894