如何用r中的dplyr通过父组求和来总结子组

时间:2016-10-12 21:00:12

标签: r group-by dplyr summarize

我生成的数据如下:

Group  Detail  Value  Count  Count_Avg
A      P       1.25   2      0.63  
A      K       0.5    1      0.50  
A      Y       0.25   1      0.25
B      D       0.75   2      0.38
B      G       33.5   18     1.86
B      Q       17.5   18     0.97

以下代码的全套数据例如:2个详细信息实例" P"在小组" A"一个名为Time的变量(未显示,P1的时间= 0.75,P2的时间= 0.50)之和的值为1.25,而Count_Avg的平均值为0.63。有18个细节实例" G"在小组" B"值的总和为33.5,Count_Avg的平均值为1.86,依此类推。

这是我用来生成上表的代码。

data %>%
group_by(Group,
         Detail) %>%
summarise(Value = sum(Time),
          n = n(),
          Count_Avg = Value/n)

我想为每个详细信息添加另一列,即的百分比。举个例子:

组中所有详细信息的总价值" A" = 1.25 + 0.5 + 0.25 = 2.0, 和细节的百分比" P"在组" A" = 1.25 / 2.0 = 0.625。结果表如下所示:

Group  Detail  Value  Count  Count_Avg  Detail_Pcnt
A      P       1.25   2      0.63       0.625
A      K       0.5    1      0.50       0.250
A      Y       0.25   1      0.25       0.125
B      D       0.75   1      0.75       0.014
B      G       33.5   18     1.86       0.647
B      Q       17.5   18     0.97       0.338

谢谢你的帮助。

0 个答案:

没有答案