从Excel中创build的csv文件中删除空行

我有一个从excel csv导入的数据框。 这个工作到目前为止,然而,csv总是保存49'999行,即使只有大约10'000行数据。 其余的行都是空的。

我怎样才能select只包含至less一列数据的数据框的那一部分? 与一行我设法做到这一点:

MyDF[length(MyDF[MyDF!=""])>0] 

但是我怎么能为整个数据框呢? 我想将这个“子数据框架”分配给一个新的数据框架。

编辑示例数据:

很简单的例子:

 data<-matrix(c(1,2,1,NA,NA,NA),nrow=3,ncol=2,byrow=TRUE) [,1] [,2] [1,] 1 2 [2,] 1 NA [3,] NA NA data2<-data[sum(!is.na(test))>0,] 

不是子集..但是为什么?

当读取Excel中创build的数据时,必须注意NA"" ,这取决于如果该列被识别为数字或R被识别为字符/因子。或者,您可以添加选项na.strings = c("NA", "") ,所以所有的空白将是NA,你不需要关心的""

 newdata = data[!apply(is.na(data) | data == "", 1, all), ] 

!apply(is.na(data) | data == "", 1, all)里面的数据至less有一列的行会给你TRUE。 其余的是假的,所以他们不被采取。

另外,从Excel创buildcsv文件时,可以尝试删除数据右侧的所有列,因为它也可以人为地创build幻影数据列。 这也可以删除底部的空白行。