如何在 R 中找到 data.table 物件行中 NA 的百分比?


為了找到 R 中 data.table 物件每一行中 NA 的百分比,我們可以按照以下步驟操作:

  • 首先,建立一個 data.table 物件。

  • 然後,使用 rowSums 函式、ncol 函式以及 apply 函式來查詢 data.table 物件每一行中 NA 的百分比。

示例

建立 data.table 物件

讓我們建立一個 data.table 物件,如下所示:

library(data.table)
x1<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
x2<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
x3<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
x4<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
DT<-data.table(x1,x2,x3,x4)
DT

輸出

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

    x1 x2 x3 x4
1:   3  1  5  5
2:   2  5 NA  1
3:  NA  5  2  7
4:   2  2  3  3
5:   5  1  3  1
6:   1 NA NA NA
7:   7  1  5  5
8:   3  3  5  1
9:   5  3  7  3
10:  NA 7  3  1
11:   1 3  7  3
12:  NA 3 NA  2
13:  NA 7 NA  2
14:   3 7  2 NA
15:   2 7  1  7
16:   5 3  7  3
17:   1 3  5  5
18:   1 3  1  1
19:   2 7 NA  1
20:   1 7  1  7
21:   1 1  3  5
22:   7 7 NA  2
23:  NA 3  1  2
24:   3 NA 7  7
25:  NA 7 NA  1
     x1 x2 x3 x4

查詢每一行中 NA 的百分比

使用 rowSums 函式、ncol 函式以及 apply 函式來查詢 data.table 物件 DT 每一行中 NA 的百分比:

library(data.table)
x1<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
x2<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
x3<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
x4<-sample(c(NA,1,2,5,7,3),25,replace=TRUE)
DT<-data.table(x1,x2,x3,x4)
DT$NA_Percent<-rowSums(apply(is.na(DT),2,as.numeric))/ncol(DT)
DT

輸出

    x1 x2  x3 x4 NA_Percent
1:  3  1   5  5  0.00
2:  2  5  NA  1  0.25
3:  NA 5   2  7  0.25
4:  2  2   3  3  0.00
5:  5  1   3  1  0.00
6:  1 NA  NA NA  0.75
7:  7  1   5  5  0.00
8:  3  3   5  1  0.00
9:  5  3   7  3  0.00
10: NA 7   3  1  0.25
11: 1  3   7  3  0.00
12: NA 3  NA  2  0.50
13: NA 7  NA  2  0.50
14: 3  7   2  NA 0.25
15: 2  7   1  7  0.00
16: 5  3   7  3  0.00
17: 1  3   5  5  0.00
18: 1  3   1  1  0.00
19: 2  7  NA  1  0.25
20: 1  7   1  7  0.00
21: 1  1   3  5  0.00
22: 7  7  NA  2  0.25
23: NA 3   1  2  0.25
24: 3  NA  7  7  0.25
25: NA 7  NA  1  0.50
   x1 x2  x3 x4 NA_Percent

更新於: 2021年11月11日

154 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.