【问题标题】:Weighted conditional sum with dplyr带 dplyr 的加权条件和
【发布时间】:2020-07-03 19:38:00
【问题描述】:

提前谢谢你!

我有一个数据框,其中包含肥胖与否的患者(以下示例)。我具有 Col I、J、K 等特征。这是加权数据,因此权重是该患者所代表的人数。我需要最后一列具有相同 IJK 的肥胖百分比。

如果您也有任何关于 DPLYR 的建议资源以及大量示例,我将不胜感激!我已经完成了数据营课程并查看了一些其他资源,但我还在寻找更多。

我已经尝试过,但没有奏效......

 df <-
  df %>%
  group_by(col I, col J, col K) %>%
  mutate(weighted_total_with_same_IJK=sum(weight))

 df <-
  df %>%
  group_by(col I, col J, col K, col H) %>%
  mutate(percent_obese_with_the_same_IJK=sum(weight)/weighted_total_with_same_IJK)

【问题讨论】:

  • 请用 dput 展示一个可重复的小例子
  • 谢谢,我一定会在下一篇文章中包含一个可重复的小例子!

标签: r group-by dplyr


【解决方案1】:

这应该可行:

df <-
  df %>%
  group_by(col I, col J, col K, col H) %>%
  mutate(percent_obese_with_the_same_IJK = if_else(col H == "obese", weight/sum(weight), "NA_real_"))

【讨论】:

  • 非常感谢您的出色工作!我不知道如何添加 if/else 来变异,这很好地说明了它!
猜你喜欢
  • 2022-07-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-27
  • 1970-01-01
相关资源
最近更新 更多