suppressPackageStartupMessages(library(dplyr))
library(gapminder)
library(magrittr)
library(ggplot2)
library(broom)
fits <- gapminder %>%
group_by(country) %>%
do(fit = lm(lifeExp ~ year +pop, .))
result<-fits %>%
augment(fit)
result
我想为一个数据框的每一行拟合一个具有不同数据的模型。 此处的代码完成了我想要的所有工作(按国家/地区分组),但事实是必须将行中的数据仅与年份中的前几年相切。 F.e.对于第6行,模型应仅使用小于1977的年份,即该行的year字段中的年份(所以这里是前5行)并按阿富汗分组(但在代码中已经可以了),第7行应该只使用比1982年小的年份,….. 因此,每一行的每个模型都会有不同的数据。
country continent year lifeExp pop gdpPercap
1 Afghanistan Asia 1952 28.801 8425333 779.4453
2 Afghanistan Asia 1957 30.332 9240934 820.8530
3 Afghanistan Asia 1962 31.997 10267083 853.1007
4 Afghanistan Asia 1967 34.020 11537966 836.1971
5 Afghanistan Asia 1972 36.088 13079460 739.9811
6 Afghanistan Asia 1977 38.438 14880372 786.1134
7 Afghanistan Asia 1982 39.854 12881816 978.0114
8 Afghanistan Asia 1987 40.822 13867957 852.3959
9 Afghanistan Asia 1992 41.674 16317921 649.3414
10 Afghanistan Asia 1997 41.763 22227415 635.3414
11 Afghanistan Asia 2002 42.129 25268405 726.7341
12 Afghanistan Asia 2007 43.828 31889923 974.5803