![](/img/trans.png)
[英]Find average values of a column in terms of date range of another column in R
[英]R Create Column as Running Average of Another Column
我想在 R 中創建一個列,它只是另一列所有先前值的平均值。 例如:
D
X
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
我希望 D$Y 是 D$X 的先驗平均值,即 D$Y 是 D$X 之前所有觀測值的平均值。 我知道如何使用遍歷每一行的 for 循環來做到這一點,但有沒有更有效的方式?
我有一個大數據集和硬件無法完成這項任務!
您可以像這樣生成向量的累積均值:
set.seed(123)
x<-sample(20)
x
## [1] 6 15 8 16 17 1 18 12 7 20 10 5 11 9 19 13 14 4 3 2
xmeans<-cumsum(x)/1:length(x)
xmeans
## [1] 6.000000 10.500000 9.666667 11.250000 12.400000 10.500000 11.571429
## [8] 11.625000 11.111111 12.000000 11.818182 11.250000 11.230769 11.071429
## [15] 11.600000 11.687500 11.823529 11.388889 10.947368 10.500000
所以D$Y<-cumsum(D$X)/1:nrow(D)
應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.