如何在 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+ 閱讀

開始你的 職業生涯

透過完成課程取得認證

開始
廣告
© . All rights reserved.