同时选择具有最大缺失值数量的几列

时间:2018-07-21 14:24:08

标签: r variables missing-data

我想在一个数据框中进行多个列选择,其中许多列取决于缺失值的数量。目的是选择缺失值最大为10%的列,以了解对于多个插补缺失值我必须选择哪个变量。

我曾尝试过使用 randompreop 数据集

计算每列的缺失值

oneD<-data.frame(sapply(randompreop, function(x) sum(is.na  (x)) ))

Select the column with less then 10 missing values 

nn<-c(rownames(subset(oneD, sapply.randompreop..function.x..sum.is.na.x...<=10)))

然后是初始数据集的子集,从列表nn中选择列

N<-subset(randompreop, select=c(nn))
ncol(N)

此代码有效,但是您知道更简单的代码吗?

谢谢你 Matteo

1 个答案:

答案 0 :(得分:1)

据我所知,您的问题是:如果NA过多,则希望从数据集中删除这些列。此行代码将告诉您每一列中有多少个NA:

nas_per_col <- sapply(your_dataset, function(x) sum(is.na(x)))

然后,您可以通过以下方式将数据集仅包含到少于10个NA的那些列中:

your_dataset[ , nas_per_col < 10]