R中多个变量中缺失数据的百分比

percentage of missing data in multiple variables in R

我有一个数据集缺少数据。我发现有 6 个变量 缺少数据。我想检查 数据百分比 但是我使用了 平均值 is.na 但是我不确定这是否正确,我知道有一种比使用重复代码更简单的检查方法,如下所示:

问题是,获取多个变量缺失数据百分比的最佳代码是什么

PS。我希望它看起来像删除列的删除列代码

--------------------代码---------------- ------------------

mean(is.na(TrainDataSet$KF6 ))
mean(is.na(TrainDataSet$KF9 ))
mean(is.na(TrainDataSet$KF10 ))
mean(is.na(TrainDataSet$F1 ))
mean(is.na(TrainDataSet$T2 ))
mean(is.na(TrainDataSet$ST7 ))

#Delete columns with missing data from TrainingSet

TrainDataSet <- TrainDataSet[ , -c(11, 14 , 15 , 21 , 28, 54)]

我收到所有列的回复,请仅提供以上 6 列的解决方案**(KF6、KF9、KF10、F1、T2、ST7)**

colMeans(is.na(airquality))

     Ozone    Solar.R       Wind       Temp      Month        Day 
0.24183007 0.04575163 0.00000000 0.00000000 0.00000000 0.00000000

如果您只需要某些列,您可以使用:

colMeans(is.na(airquality[c("Solar.R", "Wind")]))
#colMeans(is.na(airquality[, 2:3]))   # equivalent by column position
   Solar.R       Wind 
0.04575163 0.00000000 

或者,对于 dplyr,您可以使用 summarize(across... 将您的代码应用于每个指定的列:

library(dplyr)
airquality %>% summarize(across(c(Solar.R, Wind), ~mean(is.na(.x))))

     Solar.R Wind
1 0.04575163    0