如何在 R 数据框架中子集不包含 NA 或空白的行的列?


我们可能会得到一列包含 NA 以及空白的数据集,因此有必要处理这些值。处理这些值的一种方法是选择没有这些值的行。这可以通过使用单个方括号进行子集化来完成。

示例

考虑下方数据框架 −

> set.seed(1)
> x1<-sample(1:50,20)
> x2<-rep(c(1,"",3,4),times=5)
> x3<-rep(c(5,NA,10,"",20),each=4)
> df<-data.frame(x1,x2,x3)
> df
  x1 x2 x3
1 4 1 5
2 39 5
3 1 3 5
4 34 4 5
5 23 1 <NA>
6 43 <NA>
7 14 3 <NA>
8 18 4 <NA>
9 33 1 10
10 21 10
11 41 3 10
12 10 4 10
13 7 1
14 9
15 15 3
16 40 4
17 25 1 20
18 47 20
19 12 3 20
20 36 4 20

其中 x3 不是 NA 且不为空的行子集 −

> df[!(is.na(df$x3) | df$x3==""), ]
x1 x2 x3
1 4 1 5
2 39 5
3 1 3 5
4 34 4 5
9 33 1 10
10 21 10
11 41 3 10
12 10 4 10
17 25 1 20
18 47 20
19 12 3 20
20 36 4 20

其中 x2 不为空的行子集 −

> df[!(df$x2==""), ]
x1 x2 x3
1 4 1 5
3 1 3 5
4 34 4 5
5 23 1 <NA>
7 14 3 <NA>
8 18 4 <NA>
9 33 1 10
11 41 3 10
12 10 4 10
13 7 1
15 15 3
16 40 4
17 25 1 20
19 12 3 20
20 36 4 20

更新于:12-Aug-2020

4K+ 阅读

开始你的 职业生涯

通过完成课程取得认证

开始
广告