如何保存R中没有空白行的Excel工作表?

时间:2019-05-27 14:56:18

标签: r excel

我正在处理一个大型矩阵,其中某些行带有空白ID。而且我只想在Excel工作表中保存仅非空白行

假设ID是第一列,这就是我目前正在做的事情:

k <- which(is.na(MyData[,1]))
if (length(k) > 0) MyData <- MyData[-k,]
library(XLConnect)
wb <- loadWorkbook("MyFolder\\MyFile.xls")
writeWorksheet(wb,data=MyData,sheet=1,header=TRUE)
saveWorkbook(wb)

我不知道为什么,但是生成的Excel文件具有MyData的全部内容,外加一系列与空白ID相同数量的空白行。

例如,如果MyData具有1000行和5个空白ID,我将获得具有995行的最终MyData。但是最终的Excel文件最后有995行加5空行

由于我需要提交没有空行的 xls (不是xlsx)文件,我该如何解决?

非常感谢。

1 个答案:

答案 0 :(得分:0)

我对软件包不熟悉,但这应该可以工作:

library(XLConnect)
wb <- loadWorkbook("MyFolder\\MyFile.xls")
writeWorksheet(wb,data=MyData[!is.na(MyData$ID), ],sheet=1,header=TRUE)
saveWorkbook(wb)

您的代码应该已经起作用,并且您的Q应该成功过滤了NA。您可能想看看它们是否只是空白字符串而不是NA。在这种情况下,您可以这样做:

writeWorksheet(wb,data=MyData[MyData$ID != "", ],sheet=1,header=TRUE)