分组滚动方式
rolling means by group
我正在尝试对分组的数据进行滚动处理 (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))
我知道要找到一个冗长的解决方案 here 但想知道为什么上面的方法不起作用
默认情况下,NA
被移除,所以我们需要使用fill
df %>%
group_by(a) %>%
mutate(newcol = rollapply(b, 3, mean, fill = NA))
我正在尝试对分组的数据进行滚动处理 (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))
我知道要找到一个冗长的解决方案 here 但想知道为什么上面的方法不起作用
默认情况下,NA
被移除,所以我们需要使用fill
df %>%
group_by(a) %>%
mutate(newcol = rollapply(b, 3, mean, fill = NA))