【发布时间】:2022-01-15 14:48:37
【问题描述】:
a = tibble(x = runif(1000,0,10),
t = rpois(1000,4)
) %>% arrange(t)
我想要一个 l 列,它对与 t < t(x) 关联的值的 x 的子集进行平均。
预期结果:
对于x[t=0]、l = NaN
对于x[t=1]、l = mean(x[t<1])
对于x[t=2]、l = mean(x[t<2])
等等
一个不起作用的代码:
a %>%
mutate(
l = mean(x[a$t < .$t])
) -> a
现在这可以工作了:
for (i in c(1:1000)) {
a$l[i] = mean(a$x[a$t < a$t[i]])
}
但不是mutate。我想要一个mutate,以便我可以将它应用到群组等。
为了更好地理解这个问题:假设您必须在某个日期之前对所有 x 进行平均。现在:这个,动态的,在一个变异中。
我认为purrr 可能是必要的,但我讨厌它。
【问题讨论】: