所以,我正在尝试读取 Excel 文件。所发生的情况是,某些行对于某些列来说是空的,但不是所有列都是空的。我想跳过所有不完整的行,即所有列中都没有信息的行。例如:
在这种情况下,我想跳过第 1、5、6、7、8 行等。
可能有更优雅的方法,但一个可能的解决方案是计算每行非
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
它能回答你的问题吗?