【问题标题】:Cumulative sum minus mean with R累积和减去 R 的平均值
【发布时间】:2015-02-26 08:05:32
【问题描述】:

我正在尝试根据我当前的位置减去先前值的累积总和减去平均值。例如我有:

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)

【问题讨论】:

  • cumsum(A)*(1 - 1/seq_along(A))
  • @eddi 你可能应该发布那个......

标签: r


【解决方案1】:

不确定为什么要将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

【讨论】:

  • 我认为 OP 需要 current 位置的平均值。类似于@eddis 评论的东西。很高兴看到你再次回答一些问题:)
【解决方案2】:
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

【讨论】:

    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 2012-06-19
    • 2015-12-10
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多