繁体   English   中英

整洁的 output 表和观星者

[英]Tidy output table and stargazer

我正在使用我在此处找到的这种奇妙方法对子组(年份和组的所有组合)进行一系列回归。

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), replace=TRUE, size=10000)
smoker <- sample(c(0,1), replace=TRUE, 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()

这给了我一个表格,列出了年份和组的所有可能组合作为单独的 model 估计值。 我的问题是我想使用 stargazer 将这些回归 output 作为单独的模型呈现。 但是 stargazer 并没有将它们识别为回归 output。

stargazer(table, type = "text")

而不是通常的回归 output 我得到这个:

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

有没有一种绝妙的方法可以让 Stargazer 以一种可以识别的方式将所有回归 output 提供给它?

尝试使用tidy_split中的dplyr function 根据组将 dataframe 拆分为数据帧列表。 获得该列表后,您可以使用lapply将函数应用于列表中的每个项目。 如下图,先在列表中的每个dataframe上装一个lm ,然后生成stargazer output。

# 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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM