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
我有一个数据集缺少数据。我发现有 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