我正在处理一个大型矩阵,其中某些行带有空白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)文件,我该如何解决?
非常感谢。
答案 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)