如何将行中的值除以另一个因子变量的行数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (42)

我有以下数据:

ID  Value
1   3
1   4
1   2
1   6
1   7
1   3
1   5
1   6
2   9
2   5
2   7
2   3
2   5
2   8
2   4
2   8
3   4
3   9
3   5
3   5
3   5
3   8

我需要将Value变量中的每个元素除以每个ID变量级别的行数,并将其命名为Normalized

预期输出

ID  Value   Normalized
1   3   0.375
1   4   0.5
1   2   0.25
1   6   0.75
1   7   0.875
1   3   0.375
1   5   0.625
1   6   0.75
2   9   1.125
2   5   0.625
2   7   0.875
2   3   0.375
2   5   0.625
2   8   1
2   4   0.5
2   8   1.142857143
3   4   0.666666667
3   9   1.8
3   5   1.25
3   5   1.666666667
3   5   2.5
3   8   8

我试过的代码:

data %>% group_by(ID) %>% mutate(Normalized=Value/nrow(ID))
提问于
用户回答回答于

你很接近答案了:

data %>% group_by(ID) %>% mutate(Normalized = Value / n())

n()等于组的长度。

扫码关注云+社区

领取腾讯云代金券