如何跳过r中不完全为空的行

How to skip not completly empty rows in r

所以,我正在尝试读取 excel 个文件。发生的情况是某些列的某些行是空的,但并非所有列都是空的。我想跳过所有不完整的行,即所有列中都没有信息的行。例如:

在这种情况下,我想跳过第 1、5、6、7、8 行等等。

可能有更优雅的方法,但一个可能的解决方案是计算每行不是 NA 的元素数,并只保留元素数等于 NA 的行列。

使用这个虚拟示例:

df <-  data.frame(A = LETTERS[1:6],
                 B = c(sample(1:10,5),NA),
                 C = letters[1:6])

  A  B C
1 A  5 a
2 B  9 b
3 C  1 c
4 D  3 d
5 E  4 e
6 F NA f

使用apply,您可以计算每行没有NA的元素数:

v <- apply(df,1, function(x) length(na.omit(x)))

[1] 3 3 3 3 3 2

然后,只保留元素数量等于列数(对应于完整行)的行:

df1 <- df[v == ncol(df),]

  A B C
1 A 5 a
2 B 9 b
3 C 1 c
4 D 3 d
5 E 4 e

它能回答您的问题吗?