如何透過指定包含 NA 的列來篩選 R 資料框?


要透過指定包含 NA 的列來篩選 R 資料框,我們可以按照以下步驟操作:

  • 首先,建立一個包含一些列(其中包含 NA)的資料框。

  • 然後,使用 is.na 和 subset 函式來篩選資料框,並指定包含 NA 的列。

示例

建立資料框

讓我們建立一個如下所示的資料框:

x<-sample(c(NA,1,2,3),25,replace=TRUE)
y<-sample(c(NA,10,12,20),25,replace=TRUE)
z<-sample(c(NA,100,120,180),25,replace=TRUE)
a<-sample(c(NA,80,77,62),25,replace=TRUE)
df<-data.frame(x,y,z,a)
df

輸出

執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):

   x  y    z   a
1  1  NA  100  62
2  2  NA   NA  62
3  3  20  120  77
4  NA 20  180  62
5  1  NA   NA  NA
6  2  20   NA  62
7  3  10  180  62
8  2  10  120  62
9  1  12   NA  77
10 3  NA  100  62
11 1  10   NA  77
12 NA 12  180  77
13 NA NA  180  77
14 2  NA  180  62
15 3  10   NA  80
16 3  NA  100  80
17 1  20  120  80
18 1  10  120  80
19 1  12  100  NA
20 1  12  100  NA
21 1  10  180  77
22 1  12   NA  80
23 1  NA   NA  80
24 NA 10  100  NA
25 3  20   NA  62

透過指定包含 NA 的列來篩選資料框

使用 is.na 和 subset 函式來篩選資料框 df,並指定包含 NA 的列 x 和 z,如下所示:

x<-sample(c(NA,1,2,3),25,replace=TRUE)
y<-sample(c(NA,10,12,20),25,replace=TRUE)
z<-sample(c(NA,100,120,180),25,replace=TRUE)
a<-sample(c(NA,80,77,62),25,replace=TRUE)
df<-data.frame(x,y,z,a)
subset(df,is.na(x)|is.na(z))

輸出

   x  y  z   a
2  2  NA  NA  62
4  NA 20 180  62
5  1  NA  NA  NA
6  2  20  NA  62
9  1  12  NA  77
11 1  10  NA  77
12 NA 12 180  77
13 NA NA 180  77
15 3  10  NA  80
22 1  12  NA  80
23 1  NA  NA  80
24 NA 10 100  NA
25 3  20  NA  62

更新時間: 2021-11-08

323 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.