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

如何过滤数据框移除k_hidp组收入占比总和不等于100的观测

家庭收入占比数据过滤实现方案

你需要按家庭标识分组筛选,仅保留组内收入贡献占比总和恰好为100%的家庭全部观测,以下是可直接运行的实现代码:

方法1:dplyr实现(推荐,语法简洁易读)

加载dplyr包后按家庭ID分组,计算每组占比总和后过滤即可,你提到的编号为68632420、占比总和仅83%的家庭会被完整剔除:

library(dplyr)

test_11_clean <- test_11 %>%
  group_by(k_hidp) %>%
  # 若需排除存在占比缺失的家庭,可删除下面代码里的na.rm = TRUE参数
  filter(sum(percentage_income_rounded, na.rm = TRUE) == 100) %>%
  ungroup()

方法2:基础R实现(无需安装第三方包)

如果不想加载额外拓展包,用基础R的ave函数可以实现完全一致的效果:

# 按家庭分组计算每组的占比总和
family_pct_sum <- ave(
  x = test_11$percentage_income_rounded,
  by = test_11$k_hidp,
  FUN = function(x) sum(x, na.rm = TRUE)
)
# 保留总和为100的观测
test_11_clean <- test_11[family_pct_sum == 100, ]

过滤结果校验

过滤完成后可运行以下代码检查结果,确认所有保留家庭的占比总和均为100%:

# 校验结果,正常运行后只会返回100这一个值
test_11_clean %>%
  group_by(k_hidp) %>%
  summarise(total_percent = sum(percentage_income_rounded, na.rm = TRUE)) %>%
  pull(total_percent) %>%
  unique()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:39:19