我希望排除那些两个指定列都出现了NA
的行。
我熟悉na.omit
,is.na
和complete.cases
,但不知道如何使用它们来实现我的要求。例如,我有以下数据框:
(df <- structure(list(x = c(1L, 2L, NA, 3L, NA),
y = c(4L, 5L, NA, 6L, 7L),
z = c(8L, 9L, 10L, 11L, NA)),
.Names = c("x", "y", "z"),
class = "data.frame",
row.names = c(NA, -5L)))
x y z
1 4 8
2 5 9
NA NA 10
3 6 11
NA 7 NA
我想要删除仅当x
列和y
列中都出现NA
时的行(不包括任何在z列中的东西),得到
x y z
1 4 8
2 5 9
3 6 11
NA 7 NA
有没有简单的方法可以做到这一点?使用na.omit
、is.na
或complete.cases
都不起作用。
rowSums
+is.na
方法的应用简易性。 - A5C1D2H2I1M1N2O1R2T1