如何在 R 資料框中查詢按組缺失值的數量?


在資料科學中,我們經常面臨缺失值的問題,我們需要定義一種方法用適當的值替換它們,或者可以完全刪除它們。如果我們想替換缺失值,我們也需要知道有多少缺失值。因此,如果我們有一個帶有分組列的資料框,則可以使用 aggregate 函式查詢按組缺失值的數量,如下例所示。

示例 1

考慮以下資料框:

線上演示

> Group<-sample(c("A","B"),20,replace=TRUE)
> x<-sample(c(NA,2),20,replace=TRUE)
> df1<-data.frame(Group,x)
> df1

輸出

   Group  x
1      A  2
2      A NA
3      A NA
4      B  2
5      B  2
6      B NA
7      A  2
8      B NA
9      A  2
10     B NA
11     A NA
12     A  2
13     B  2
14     B  2
15     B NA
16     A NA
17     A  2
18     B  2
19     B NA
20     A NA

在 df1 中查詢按組缺失值:

> aggregate(x~Group,data=df1, function(x) {sum(is.na(x))},na.action=NULL)

輸出

  Group x
1     A 5
2     B 5

示例 2

線上演示

> Class<-sample(c("First","Second"),20,replace=TRUE)
> Score<-sample(c(NA,10,15),20,replace=TRUE)
> df2<-data.frame(Class,Score)
> df2

輸出

    Class Score
1  Second    15
2   First    15
3  Second    10
4   First    10
5   First    15
6  Second    10
7   First    15
8  Second    NA
9  Second    15
10  First    15
11 Second    NA
12 Second    NA
13 Second    NA
14 Second    10
15 Second    NA
16  First    10
17  First    NA
18  First    15
19  First    10
20 Second    NA

在 df2 中查詢按組缺失值:

> aggregate(Score~Class,data=df2, function(x) {sum(is.na(x))},na.action=NULL)

輸出

   Class Score
1  First     1
2 Second     6

更新於:2021年3月5日

225 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.