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

在R中合并多米尼加家庭调查数据集并保留srvyr抽样属性

解决家庭调查数据集合并后权重求和异常的问题

问题根源

合并后权重求和暴涨的核心原因是一对多匹配导致权重被重复累加。原收入、支出数据集里,每个调查户的FACTOR_EXPANSION权重是唯一的,但你把权重本身也放进了合并键里,再加上如果其中一个数据集(比如支出)里同一户有多条记录(比如按不同消费类别拆分),合并后每条支出记录都会带上同一个户的权重,求和时就会把同一个权重重复计算N次,最终导致总和异常。

正确合并步骤

  1. 精简合并键:只保留能唯一识别调查户的变量,也就是TRIMESTRE、REPLICA、UPM、VIVIENDA、HOGAR这些,把FACTOR_EXPANSION、ORDEN_REGION、QUINTIL从合并键里移除——这些是户的属性,不是匹配依据,同一户的这些属性在两个数据集里应该是一致的。

  2. 修正合并代码:

# 仅按户的唯一标识合并,给重复变量加后缀区分
merge_income_expense <- merge(x = income, 
                              y = expense, 
                              by = c("TRIMESTRE", "REPLICA", "UPM", "VIVIENDA", "HOGAR"),
                              all.x = TRUE,
                              suffixes = c("_ingreso", "_gasto"))
  1. 验证权重求和:合并后检查权重总和,应该和原数据集一致:
sum(merge_income_expense$FACTOR_EXPANSION_ingreso, na.rm = TRUE)
# 若支出数据集权重与收入一致,也可使用FACTOR_EXPANSION_gasto验证

适配srvyr包的注意事项

  • 确保合并后每个调查户(HOGAR)对应唯一的权重记录,如果是支出明细类的多记录数据,需先按户聚合支出变量再合并;或者在srvyr中用group_by(HOGAR)分析,避免权重重复计算。
  • 保留UPM、REPLICA等抽样设计相关变量,后续用srvyr::as_survey_design()指定抽样权重、集群/分层变量时,能正确保留抽样属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:33:38