gpt4 book ai didi

r - 按组计算滚动总和

转载 作者:行者123 更新时间:2023-12-02 19:16:21 25 4
gpt4 key购买 nike

<分区>

我想计算 3 个先前值的滚动总和(或自定义函数),分别处理每个组。我试过这个:

require(dplyr)

# Build dataframe
df <- data.frame(person = c(rep("Peter", 5), rep("James", 5)),
score1 = c(1,3,2,5,4,6,8,4,5,3),
score2 = c(1,1,1,5,1,3,4,8,9,0))

# Attempt rolling sum by group
df %>%
group_by(person) %>%
mutate(s1_rolling = rollsumr(score1, k = 3, fill = NA),
s2_rolling = rollsumr(score2, k = 3, fill = NA))

但新的列并没有分别处理每个组,而是继续向下处理整个数据集:

   person score1 score2 s1_rolling s2_rolling
<chr> <dbl> <dbl> <dbl> <dbl>
1 Peter 1 1 NA NA
2 Peter 3 1 NA NA
3 Peter 2 1 6 3
4 Peter 5 5 10 7
5 Peter 4 1 11 7
6 James 6 3 15 9
7 James 8 4 18 8
8 James 4 8 18 15
9 James 5 9 17 21
10 James 3 0 12 17

我希望第 6 行和第 7 行在两个新列中显示 NA,因为直到第 8 行,James 的数据不足以对 3 行求和。

我该怎么做?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com