如何在 R 資料框的每一列中查詢 NA 的數量?


有時資料框中充滿了過多的缺失值/NA,並且資料框的每一列都至少包含一個 NA。在這種情況下,我們可能希望找出每列中存在多少個缺失值。因此,我們可以使用 colSums 函式以及 is.na 以如下方式:colSums(is.na(df)) #這裡 df 指的是資料框名稱。

考慮以下資料框 -

示例

 線上演示

set.seed(109)
x1<-sample(c(0:1,NA),20,replace=TRUE)
x2<-sample(c(rpois(5,2),NA),20,replace=TRUE)df1<-data.frame(x1,x2)
df1

輸出

   x1   x2
1   0   1
2  1   NA
3  NA   0
4  NA   0
5  1   1
6  1   1
7  NA  NA
8  NA  NA
9  0   1
10 NA 1
11  1 1
12 0 1
13 NA 1
14 0 0
15 1 1
16 NA 0
17 1 1
18 1 NA
19 NA NA
20 0 0

查詢資料框 df1 中每一列中 NA 的數量 -

示例

colSums(is.na(df1))

輸出

x1 x2
6 4

讓我們看看另一個例子 -

示例

 線上演示

y1<-sample(c(100,105,NA,115,120),20,replace=TRUE)
y2<-sample(c(rnorm(3,1,0.04),NA),20,replace=TRUE)
df2<-data.frame(y1,y2)
df2

輸出

y1 y2
1 NA NA
2 NA NA
3 105 NA
4 115 0.9910075
5 120 NA
6 120 0.9547570
7 105 0.9547570
8 105 1.0468139
9 120 0.9910075
10 115 0.9547570
11 115 0.9910075
12 100 0.9910075
13 NA 1.0468139
14 120 1.0468139
15 NA 1.0468139
16 115 NA
17 115 1.0468139
18 100 NA
19 120 0.9910075
20 120 0.9910075

查詢資料框 df2 中每一列中 NA 的數量 -

示例

colSums(is.na(df2))

輸出

y1 y2
3 3

更新於: 2020年10月9日

721 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.