【发布时间】:2021-07-18 16:41:09
【问题描述】:
我有一个缺少数据的数据集。我发现有 6 个变量 缺少数据。我想检查 percentage of data 但是我使用了 mean 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)**
【问题讨论】:
-
这能回答你的问题吗:stackoverflow.com/q/33512837/6851825
-
您的解决方案显示所有列。我的问题是只显示选定的列。我相信,我的编码是正确的,但我想简化它。
-
尝试
colMeans(is.na(airquality[c("Solar.R", "Wind")])),即使用您的数据colMeans(is.na(TrainDataSet[c("KF6", "KF9", "KF10", "F1", "T2", "ST7")])) -
顺便说一句,建议在此站点上包含示例数据,以供其他人用来尝试和验证解决方案。您可以 1) 使用标准数据集,例如
airquality(具有 NA),2) 将dput()与您的数据的一些代表性子集一起使用。这会生成其他人可以用来创建数据对象的精确副本的代码,3) 提供生成假数据的代码,例如TrainDataSet = data.frame(ok = 1:3, KF6 = c(1:2, NA), KF9 = c(NA, NA, "a"))
标签: r data-mining percentage missing-data