我想要计算mean(或任何其他摘要长度之一,例如统计min,max,length,sum)的数值变量("值")的分组变量("基团")的每个水平内.
摘要统计应该被分配到具有一个新的变量相同的长度为原始数据.即,原始数据中的每一行应该具有对应于当前组值的值-该数据组应该不被折叠,以便每组中的一行.例如,考虑组mean:
之前
id group value
1 a 10
2 a 20
3 b 100
4 b 200
Run Code Online (Sandbox Code Playgroud)
后
id group value grp.mean.values
1 a 10 15
2 a 20 15
3 b 100 150
4 b 200 150
Run Code Online (Sandbox Code Playgroud) 这是数据:
a <- c(1,1,2,2,3)
b <- c(1,3,5,9,4)
df1 <- data.frame(a,b)
df1
a b
1 1
1 3
2 5
2 9
3 4
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
a b max
1 1 3
1 3 3
2 5 9
2 9 9
3 4 4
Run Code Online (Sandbox Code Playgroud)
我的问题:如何计算“a”列的“最大”列分组,“b”列中有值?
我对聚合函数进行了一些研究,但仍然找不到解决方案。
请帮忙