You need to enable JavaScript to run this app. 不同分组下嵌套dplyr::summarise 无需left_join的实现咨询
优惠活动
大模型
产品
解决方案
定价
更多

不同分组下嵌套dplyr::summarise 无需left_join的实现咨询

无需left_join的实现方案

直接在同一管道流里就能完成两类统计,完全不用跨表关联,比原写法更简洁:

data %>%
  # 按BMI分组提前算出全组的高WC占比,给组内每个样本赋同一个值
  group_by(bmiclass) %>%
  mutate(risk.wc = sum(wcclass) / n() * 100) %>%
  # 切到BMI+WC双维度分组,计算细分维度的死亡风险
  group_by(bmiclass, wcclass) %>%
  summarise(
    risk.death = sum(deceased) / n() * 100,
    # 组内的高WC占比是固定值,提取任意样本的结果即可
    risk.wc = first(risk.wc)
  )

逻辑说明

  • 核心思路是把“按BMI分组的高WC占比”归为BMI组的固定属性:在原始数据层面给所有同BMI的样本打上对应占比的标签,后续拆分WC分组时,这个值不会随分组变化
  • 用first()提取占比是因为同分组内的该值完全一致,取哪个位置的结果都相同,比起两次分组再加left_join的写法,少了一步数据拆分和键值匹配的过程,执行效率更高
  • 最终输出的统计结果和你之前用关联方法得到的结果完全一致,没有任何数值偏差

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 17:06:04