微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

整洁的输出表和观星者

如何解决整洁的输出表和观星者

我正在使用我发现的这种奇妙的方法对子组(年份和组的所有组合)进行一系列回归 here

year <- rep(2014:2015,length.out = 10000)
group <- sample(c(0,1,2,3,4,5,6),replace=TRUE,size=10000)
value <- sample(10000,replace = T)
female <- sample(c(0,1),size=10000)
smoker <- sample(c(0,size=10000)

dta <- data.frame(year = year,group = group,value = value,female=female,smoker = smoker)

library(dplyr)
library(broom)
library(stargazer)

table <- dta %>%
  group_by(year,group) %>%
  do(tidy(lm(smoker ~ female,data = .))) %>%
  ungroup()

这给了我一个表格,其中包含年份和组的所有可能组合作为单独的模型估计。我的问题是我想使用 stargazer 将这些回归输出作为单独的模型呈现。但是观星者不会将它们识别为回归输出

stargazer(table,type = "text")

我得到的不是通常的回归输出

==================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
===================================================

有没有一种巧妙的方法可以让 Stargazer 以一种它能够识别的方式提供所有回归输出

解决方法

尝试使用 tidy_split 中的 dplyr 函数将基于组的数据帧拆分为数据帧列表。获得该列表后,您可以使用 lapply 将函数应用于列表中的每个项目。如下所示,首先在列表中的每个数据帧上拟合一个 lm,然后生成 stargazer 输出。

# create list of dfs
table_list <- dta %>%
    group_by(year,group) %>%
    group_split()

# apply the model to each df and produce stargazer result
model_list <- lapply(table_list,function(x) lm(smoker ~ female,data = x))
stargaze_list <- lapply(model_list,stargazer,type = "text")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。