2012-04-10 23 views
3

我在R中創建了一個例程來導入需要在一個大的txt文件中合併的多個Excel文件。我使用read.xls函數。其中一些xls文件在單元格中有回車符(「\ n」)。然後,當我寫入txt文件(write.table)R時,將這個「\ n」解釋爲新行。 如何清理xls文件或正確讀取它們以刪除不必要的「\ n」?R讀取帶回車的Excel文件返回

謝謝!

回答

0

表中的列幾乎肯定是因素(這是R中字符列的默認值)。所以,我們可以更改每列中的因素。

首先是一些虛擬數據

R> dd = data.frame(d1 = c("1", "2\n", "33"), 
       d2 = c("1\n", "2\n", "33")) 

##Default, factor 
R> levels(dd[,1]) 
[1] "1" "2\n" "33" 

接下來,我們使用一個for環路走了過來列名:

for(i in 1:ncol(dd)) 
    levels(dd[,i]) = gsub("\n","", levels(dd[,i])) 

如果你想刪除的for迴路,並使用sapply,那麼這應該工作

##Can this be improved? 
sapply(1:ncol(dd), 
     function(i) levels(dd[,i]) <<- gsub("\n","", levels(dd[,i]))) 
+0

這有效,但我不得不說,使用R合併數據表似乎還有很長的路要走。爲什麼不寫一個小的Excel宏或者一個shell腳本來打開所有的工作簿並將感興趣的錶轉儲到一個文本文件中? – 2012-04-10 12:32:25