R:如何将结果合并为一个唯一的输出?

问题描述 投票:0回答:1

我需要将我的回归结果合并到一个唯一的表格中。给你一个想法:

这是我的数据集样本

> head(final, 20)
   nquest nord sex anasc    ireg eta staciv studio  tpens
1     173    1   1  1948      18  64      3      5  2500
2     375    1   2  1925      16  87      4      2  1340
3     629    1   1  1939       5  73      4      3  1188
4     632    1   1  1950       5  62      1      3  1320
5     633    1   2  1934       5  78      4      2  350
6    1238    1   1  1937      15  75      4      3  1000
7    7886    1   1  1950       9  62      1      5  2000
8   11972    2   1  1938      17  74      1      2  750
9   20174    1   1  1941       8  71      1      5  2000
10  20174    2   2  1942       8  70      1      3  132
11  20223    1   2  1938       3  74      1      5  800
12  20223    2   1  1939       3  73      1      4  980
13  20711    2   1  1944       4  68      1      2  1900
14  20837    1   1  1931       8  81      1      4  1600
15  20837    2   2  1928       8  84      1      2  430
16  21461    1   2  1918       5  94      4      2  600
17  22173    1   1  1938      15  74      1      2  1200
18  22208    1   2  1935       5  77      4      2  700
19  22222    1   1  1927       5  85      4      2  1100
20  22276    1   1  1949       8  63      2      5  1170

我正在运行这些回归

lm(log(tpens) ~ sex, data = final)
lm(log(tpens) ~ sex + eta, data = final)
lm(log(tpens) ~ sex + eta + ireg, data = final)
lm(log(tpens) ~ sex + eta + ireg + studio, data = final)

有没有办法让输出彼此相邻??

这是我正在寻找的示例(如果它可以包含更多来自回归的信息,那就更好了)

             Estimate                     
(Intercept)  7.47635***   8.5236948***     8.5814025***   7.4580630***
sex         -0.42052***  -0.4170048***    -0.4229487***  -0.4153185***      
eta                      -0.0146341***    -0.0145885***  -0.0068207***
ireg                                      -0.0057238***  -0.0035033***
studio                                                    0.1624156***
....                                                      .....

我从过去的问题中看到可以使用

mapply
do.call
,但我无法以正确的方式设置它们......任何人都可以帮助我吗?还有其他方法吗?

r merge output regression lapply
1个回答
1
投票

我们可以遍历公式,创建线性模型,提取所需信息 (

tidy
) 并返回单个数据

library(dplyr)
library(purrr)
library(broom)
lst(log(tpens) ~ sex, log(tpens) ~ sex + eta,
  log(tpens) ~ sex + eta + ireg,
  log(tpens) ~ sex + eta + ireg + studio) %>% 
  map(lm, data = final) %>% 
  map(tidy) %>%
  list_rbind(names_to = 'fmla')
© www.soinside.com 2019 - 2024. All rights reserved.