You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中移除含40-50%空值的dataframe列?

移除DataFrame中空值占比过高的列

基础R实现

你已经算出了各列的空值占比,接下来只需设定阈值、筛选符合要求的列即可:

  1. 先将空值占比结果存入变量:
null_percent <- colMeans(is.na(application_data)) * 100
  1. 设定空值占比阈值(示例设为50,可按需调整),筛选并保留占比低于阈值的列:
threshold <- 50
# 提取需要保留的列名
keep_cols <- names(null_percent)[null_percent < threshold]
# 生成清理后的数据集
cleaned_data <- application_data[, keep_cols]

dplyr/tidyverse 实现

如果习惯用tidyverse工具链,可用更简洁的链式操作:

library(dplyr)

cleaned_data <- application_data %>%
  select(where(~ mean(is.na(.x)) * 100 < 50))

where()函数会遍历每一列,计算该列空值占比,自动保留占比低于50%的列。

内容的提问来源于stack exchange,提问作者Saksham Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:39:59