[英]Calculate New Mean() and Max() value for each row in a particular column in R
我需要根据某些条件对数据帧进行分段,比如mean()
和max()
。
这是我的数据帧df,带有一个变量A
A
0
0
3
2
4
3
...
我需要为此列的每一行创建另外两列mean
和max
,
预期产出
A mean max
0 0 0
0 0(mean(A[1], A[2])) 0(max(A[1], A[2]))
3 1(mean(A[1],A[2],A[3])) 3(max(A[1],A[2],A[3]))
2 1.25(mean(A[1],A[2],A[3],A[4])) 3(max(A[1],A[2],A[3],A[4]))
4 1.8(mean(A[1],A[2],A[3],A[4],A[5])) 4(max(A[1],A[2],A[3],A[4],A[5]))
3 2(mean(A[1],A[2],A[3],A[4],A[5],A[6])) 4(max(A[1],A[2],A[3],A[4],A[5],A[6]))
... ... ...
什么是在R中执行此操作的最佳方式?
dplyr
包内置了许多累积函数。这是一个例子。
> library(dplyr)
> btest <- data.frame(a = c(0,0,3,4,2,3), b = rnorm(6))
> btest %>% mutate(mean = cummean(a), max = cummax(a))
a b mean max
1 0 -1.6028412 0.00 0
2 0 0.1953723 0.00 0
3 3 0.2022246 1.00 3
4 4 -0.2744182 1.75 4
5 2 0.3343044 1.80 4
6 3 0.2081762 2.00 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.