可以使用dplyr包的filter()函数和summarise_all()函数来实现此操作。
假设数据框为df,以下是代码:
library(dplyr)
df %>%
summarise_all(~ mean(!is.na(.))) %>% # 计算每个变量的缺失值百分比
filter(rowSums(. <= 0.2) == ncol(df)) %>% # 保留缺失值百分比小于等于20%的变量
select(-matches("NA")) # 删除缺失值变量的列
解释: 第一行计算了每个变量的缺失值百分比。 第二行过滤掉那些缺失值百分比超过20%的变量。 第三行删除了所有名字带有“NA”的列,这是因为这些列已经有了超过20%的缺失值,并不符合要求。
最后,我们得到了一个数据框,其中缺失值占总变量数的20%以下。
上一篇:保留工作目录中的更改
下一篇:保留光栅化后的图层名称