我有以下数据框架结构。
x1 x2 x3 x4
1 NA NA NA
2 1 NA 3
3 4 5 6
4 7 8 NA
5 NA NA NA
如果所有的x2->x4都是NA,我想删除这些行(在我的数据集中,我有28列,名为 "1 "至 "28",第一列从来没有NA)。换句话说,我想保留。
x1 x2 x3 x4
2 1 NA 3
3 4 5 6
4 7 8 NA
有什么好办法吗?
先谢谢你!
df[rowSums(is.na(df[,2:4]))!=3,]
x1 x2 x3 x4
2 2 1 NA 3
3 3 4 5 6
4 4 7 8 NA
你可以使用 filter_at
:
library(dplyr)
df %>% filter_at(vars(x2:x4), any_vars(!is.na(.)))
# x1 x2 x3 x4
#2 2 1 NA 3
#3 3 4 5 6
#4 4 7 8 NA