从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幻影数据列。 这也可以删除底部的空白行。