小编LmW*_*mW.的帖子

为列表列数据框的每一行拟合不同的模型

用tidyverse中的列表列数据结构拟合随数据帧的行而变化的不同模型公式的最佳方法是什么?

在R for Data Science中,Hadley给出了一个很棒的示例,说明了如何使用列表列数据结构和轻松地拟合许多模型(http://r4ds.had.co.nz/many-models.html#gapminder)。我正在尝试找到一种方法来适合具有稍微不同的公式的许多模型。在下面的示例中(改编自他的原始示例),为每个洲拟合不同模型的最佳方法是什么?

library(gapminder)
library(dplyr)
library(tidyr)
library(purrr)
library(broom)

by_continent <- gapminder %>% 
  group_by(continent) %>% 
  nest()

by_continent <- by_continent %>% 
  mutate(model = map(data, ~lm(lifeExp ~ year, data = .)))

by_continent %>% 
  mutate(glance=map(model, glance)) %>% 
  unnest(glance, .drop=T)

## A tibble: 5 × 12
#  continent r.squared adj.r.squared     sigma statistic      p.value    df
#     <fctr>     <dbl>         <dbl>     <dbl>     <dbl>        <dbl> <int>
#1      Asia 0.4356350     0.4342026 8.9244419  304.1298 6.922751e-51     2
#2    Europe 0.4984659     0.4970649 3.8530964  355.8099 1.344184e-55     2
#3    Africa 0.2987543 …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr tidyverse

5
推荐指数
1
解决办法
643
查看次数

标签 统计

dplyr ×1

r ×1

tidyr ×1

tidyverse ×1