首页 > 解决方案 > 循环回归永久实体,保存所有实体的预测值

问题描述

我的目标是对所有实体(循环)进行回归,变量“income”和“family.members”作为自变量,并根据每个实体的“income”和“family.members”水平保存预测的 Y 值”。That is lm(happiness~income + family.members, data=df1))我已经尝试过使用 group_by(),但技术部分有点超出我的水平。希望有人能帮忙!

当前数据集

ID  Year  Happiness  income  members
11    1    3          34242   2
11    2    7          32321   4
31    1    1          24222   1
13    1    10         51231   5
31    2    3          12313   3

目标

 ID  Year  Happiness  income  members  pred.happiness
 13   1    3          34242   2        3,2
 11   1    7          32321   4        4,2
 33   3    1          24222   1        3,4
 13   2    10         51231   5        3,2
 11   2    2          12313   3        3,2

标签: r

解决方案


如果没有可使用的数据,我们无法直接为您提供帮助。然而,这里是一个nest()方法的例子。

library(tidyverse)
library(modelr)


head(ChickWeight)
#>   weight Time Chick Diet
#> 1     42    0     1    1
#> 2     51    2     1    1
#> 3     59    4     1    1
#> 4     64    6     1    1
#> 5     76    8     1    1
#> 6     93   10     1    1

by_id <- ChickWeight %>% 
  group_by(Chick) %>% 
  nest()


lin <- function(df){
  lm(weight ~ Time,data = ChickWeight)
}

by_id <- by_id %>% mutate(model = map(data,lin))

by_id <- by_id %>% 
  mutate(pred = map2(data,model,modelr::add_predictions))

by_id
#> # A tibble: 50 x 4
#> # Groups:   Chick [50]
#>    Chick data              model  pred             
#>    <ord> <list>            <list> <list>           
#>  1 1     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  2 2     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  3 3     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  4 4     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  5 5     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  6 6     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  7 7     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#>  8 8     <tibble [11 × 3]> <lm>   <tibble [11 × 4]>
#>  9 9     <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#> 10 10    <tibble [12 × 3]> <lm>   <tibble [12 × 4]>
#> # … with 40 more rows

reprex 包于 2020-11-30 创建(v0.3.0)

有关更多信息,请参阅Hadley 的许多模型

祝你好运!


推荐阅读