如何在 R 資料框的每一列中查詢缺失值的百分比?
為了查詢 R 資料框每一列中缺失值的百分比,我們可以結合使用 `colMeans` 函式和 `is.na` 函式。這將找到每一列中缺失值的平均值。之後,我們可以將輸出乘以 100 以獲得百分比。
檢視以下示例,瞭解如何操作。
示例 1
以下程式碼片段建立一個示例資料框:
x1<-sample(c(NA,1,2),20,replace=TRUE) x2<-sample(c(NA,5),20,replace=TRUE) x3<-sample(c(NA,10,12),20,replace=TRUE) df1<-data.frame(x1,x2,x3) df1
輸出
建立了以下資料框:
x1 x2 x3 1 NA NA 12 2 2 5 10 3 2 5 12 4 1 5 12 5 1 5 NA 6 NA 5 10 7 1 NA 10 8 NA 5 10 9 2 NA 12 10 2 NA NA 11 NA NA NA 12 NA 5 12 13 NA NA 10 14 1 NA NA 15 2 NA 12 16 1 5 NA 17 NA 5 10 18 2 5 10 19 NA 5 12 20 NA 5 12
要在 df1 的每一列中查詢 NA 的百分比,請將以下程式碼新增到上面的程式碼片段中:
x1<-sample(c(NA,1,2),20,replace=TRUE) x2<-sample(c(NA,5),20,replace=TRUE) x3<-sample(c(NA,10,12),20,replace=TRUE) df1<-data.frame(x1,x2,x3) (colMeans(is.na(df1)))*100
輸出
如果您將以上所有程式碼作為單個程式執行,則會生成以下輸出:
x1 x2 x3 45 40 25
示例 2
以下程式碼片段建立一個示例資料框:
y1<-sample(c(NA,rnorm(2)),20,replace=TRUE) y2<-sample(c(NA,rnorm(2)),20,replace=TRUE) df2<-data.frame(y1,y2) df2
輸出
建立了以下資料框:
y1 y2 1 -1.407410 NA 2 -1.771819 NA 3 -1.771819 NA 4 NA -0.05582021 5 NA NA 6 -1.407410 -0.05582021 7 NA NA 8 NA -0.05582021 9 -1.407410 1.19697209 10 -1.407410 NA 11 -1.771819 -0.05582021 12 NA NA 13 -1.771819 NA 14 -1.771819 -0.05582021 15 NA -0.05582021 16 -1.407410 1.19697209 17 -1.771819 -0.05582021 18 NA NA 19 -1.407410 -0.05582021 20 -1.407410 1.19697209
要在 df2 的每一列中查詢 NA 的百分比,請將以下程式碼新增到上面的程式碼片段中:
y1<-sample(c(NA,rnorm(2)),20,replace=TRUE) y2<-sample(c(NA,rnorm(2)),20,replace=TRUE) df2<-data.frame(y1,y2) (colMeans(is.na(df2)))*100
輸出
如果您將以上所有程式碼作為單個程式執行,則會生成以下輸出:
y1 y2 35 45
示例 3
以下程式碼片段建立一個示例資料框:
z1<-sample(c(NA,round(runif(2,1,5),2)),20,replace=TRUE) z2<-sample(c(NA,round(runif(2,2,10),2)),20,replace=TRUE) z3<-sample(c(NA,round(runif(2,5,10),2)),20,replace=TRUE) df3<-data.frame(z1,z2,z3) df3
輸出
建立了以下資料框:
z1 z2 z3 1 1.69 2.76 NA 2 NA 7.59 NA 3 NA 2.76 9.13 4 4.24 NA 9.13 5 1.69 NA 9.13 6 NA 2.76 8.85 7 NA 7.59 NA 8 NA NA 9.13 9 NA 7.59 NA 10 1.69 2.76 NA 11 4.24 7.59 8.85 12 1.69 NA 8.85 13 4.24 NA NA 14 NA NA 8.85 15 4.24 7.59 9.13 16 4.24 7.59 NA 17 1.69 2.76 9.13 18 NA NA 9.13 19 4.24 2.76 8.85 20 4.24 NA NA
要在 df3 的每一列中查詢 NA 的百分比,請將以下程式碼新增到上面的程式碼片段中:
z1<-sample(c(NA,round(runif(2,1,5),2)),20,replace=TRUE) z2<-sample(c(NA,round(runif(2,2,10),2)),20,replace=TRUE) z3<-sample(c(NA,round(runif(2,5,10),2)),20,replace=TRUE) df3<-data.frame(z1,z2,z3) (colMeans(is.na(df3)))*100
輸出
如果您將以上所有程式碼作為單個程式執行,則會生成以下輸出:
z1 z2 z3 40 40 40
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP