2012-04-10 25 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