滚动是指按组进行的。

5

我正在尝试对分组的数据进行滚动平均(dplyr::group_by) - 我不明白为什么这样做不起作用:

set.seed(1)
library(dplyr)
library(zoo)
df <- data.frame(a=sample(LETTERS[1:2], replace= T, 10),
                 b=rnorm(20), stringsAsFactors = F)
df %>% 
  group_by(a) %>% 
  mutate(rollapply(b, 3, mean))

我看到这里有一个冗长的解决方案:这里,但我想知道为什么上面的方法不起作用。
1个回答

5

默认情况下,NA会被删除,因此我们需要使用fill函数来填充数据。

 df %>% 
   group_by(a) %>% 
   mutate(newcol = rollapply(b, 3, mean, fill = NA))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接