3

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

谢谢!

4

1 回答 1

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])))
于 2012-04-10T10:17:41.000 回答