我试图根据我当前的位置减去先前值的累计和减去平均值。例如,我有:
A
1
2
3
4
5
我想要这个:
A B
1 NA
2 3-mean(A)
3 6-mean(A)
4 10-mean(A)
5 15-mean(A)
答案 0 :(得分:0)
不确定为什么要NA
作为B
列的第一个值。我在这里使用1-mean(A)
代替:
> A <- 1:5
> data.frame(A=A, B=cumsum(A)-mean(A))
A B
1 1 -2
2 2 0
3 3 3
4 4 7
5 5 12
答案 1 :(得分:0)
library(dplyr)
x<-data.frame(a=1:6)
x %>%
mutate(mycol=mean(a)-lag(cumsum(a),1))
a mycol
1 1 NA
2 2 2.5
3 3 0.5
4 4 -2.5
5 5 -6.5
6 6 -11.5