我有一个示例数据框sample.data
,如下所示:
x y z
1 0 1
1 0 1
1 0 1
1 0 1
1 0 2
1 0 2
1 0 2
1 0 2
1 0 2
0 1 2
我需要找到 z 的每个类别的 x 和 y 的最大值和总和(z 就像 1,2,...600)。为此,我使用 plyr 的 ddply :
library(plyr)
z.group<-ddply (sample.data,.(z),summarize,max_x=max(x), max_y=max(y), sum_x=sum(x), sum_y=sum(y))
z.group
z max_x max_y sum_x sum_y
1 1 0 4 0
2 1 1 5 1
现在,我需要将这些sum_x, sum_y, max_x, and max_y
作为sample.data
相关行下的列插入。例如,if max_x is 1 for z=1, then I insert max_x is 1 for all rows with z=1
。预期的输出是
x y z max_x max_y sum_x sum_y
1 0 1 1 0 4 0
1 0 1 1 0 4 0
1 0 1 1 0 4 0
1 0 1 1 0 4 0
1 0 2 1 1 5 1
1 0 2 1 1 5 1
1 0 2 1 1 5 1
1 0 2 1 1 5 1
1 0 2 1 1 5 1
0 1 2 1 1 5 1
我想知道如何获得预期的输出?