library(slider)
ir = iris %>% select(
Species, Sepal.Length,Sepal.Width
)
ir %>%
group_by(Species) %>%
mutate(f = slide(cur_data(),
~lm(Sepal.Length ~ Sepal.Width,data = .x,
.before = 2))
) -> a1
a1
a1[,4]
a1 %>% mutate(
b = map_dbl(f, ~coef(.x)[[2]])
) -> a2
a2
a2 %>% names
a2[,5]
lm()
的批量结果是 list, 所以对这一列的处理要用 map 系列函数加上 coef()
, 而 coef() 里面有两个数值,所以再用 [[]] 提取即可。
代码与其他qq群里回复的为同一人,本人,无抄袭搬运,勿起疑心。
上述 slider() 计算没有实际意义,仅以最后的 coef()
处理作为参考即可。