R使用回车符读取Excel文件

时间:2012-04-10 09:58:04

标签: excel r carriage-return

我在R中创建一个例程来导入我需要在一个大的txt文件中合并的多个Excel文件。我使用read.xls函数。其中一些xls文件在单元格中有回车符(“\ n”)。然后,当我写txt文件(write.table)时,R将此“\ n”解释为新行。 如何清理xls文件或正确读取它们以删除不必要的“\ n”?

谢谢!

1 个答案:

答案 0 :(得分: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])))