我想创建一个新列,计算另一列的前 3 个观测值的累积平均值,并将结果填充到新列的其余部分。例如,假设我的数据框有 10 行,前 3 个观测值的累积平均值为 64,我最好将 4 到 10 行填入值 64。
希望找到一个可以执行的解决方案dplyr
。
library(tidyverse)
set.seed(1)
dat <- data.frame(var1 = round(rnorm(10, 100, 20)))
dat <- dat %>%
mutate(var1_mean = cummean(head(var1, 3)))