使用 stargazer() 为多个模型生成多个列名
Generate multiple column names for multiple models using `stargazer()`
我正在尝试获取多个列标签,但我在从 stargazer()
解析它时遇到问题。我试图显示在不同子样本上估计的不同模型,并在列名中描述分区。但是,它显示不正确。
我已经检查了 and 个问题,但它们并不是我需要的。
PS:我的问题的动机来自于在 table.
中捕获 的树结构
var1<-rnorm(100)
var2<-rnorm(100)
df<-data.frame(var1, var2)
mod<-lm(var1~var2)
library(stargazer)
stargazer(mod,mod,mod,mod,
column.labels='Gender=Male Gender=Female \\ & Age > 25 Age <= 25 Educ>12 Educ <=12')
结果
期望的输出
我的 LaTeX 应该是这样的。
% Table created by stargazer v.5.2.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
% Date and time: vie., ene. 15, 2021 - 13:58:54
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{tabular}{@{\extracolsep{5pt}}lcccc}
\[-1.8ex]\hline
\hline \[-1.8ex]
& \multicolumn{4}{c}{\textit{Dependent variable:}} \
\cline{2-5}
\[-1.8ex] & \multicolumn{2}{c}{Gender$=$Male} & \multicolumn{2}{c}{Gender$=$Female} \
\[-1.8ex] & \multicolumn{1}{c}{Age$>} & \multicolumn{1}{c}{Age$<=} &\multicolumn{1}{c}{Educ$>} & \multicolumn{1}{c}{Educ$<=12$} \
\[-1.8ex] & (1) & (2) & (3) & (4)\
\hline \[-1.8ex]
var2 & 0.006 & 0.006 & 0.006 & 0.006 \
& (0.101) & (0.101) & (0.101) & (0.101) \
& & & & \
Constant & $-[=11=].012 & $-[=11=].012 & $-[=11=].012 & $-[=11=].012 \
& (0.105) & (0.105) & (0.105) & (0.105) \
& & & & \
\hline \[-1.8ex]
Observations & 100 & 100 & 100 & 100 \
R$^{2}$ & 0.00004 & 0.00004 & 0.00004 & 0.00004 \
Adjusted R$^{2}$ & $-[=11=].010 & $-[=11=].010 & $-[=11=].010 & $-[=11=].010 \
Residual Std. Error (df = 98) & 1.045 & 1.045 & 1.045 & 1.045 \
F Statistic (df = 1; 98) & 0.004 & 0.004 & 0.004 & 0.004 \
\hline
\hline \[-1.8ex]
\textit{Note:} & \multicolumn{4}{r}{$^{*}$p$<[=11=].1; $^{**}$p$<[=11=].05; $^{***}$p$<[=11=].01} \
\end{tabular}
\end{table}
这是编译后的样子。
我不知道如何在 stargazer
中实现这一点,但使用 modelsummary
and kableExtra
包很容易做到(免责声明:我是 modelsummary
维护者):
library(kableExtra)
library(modelsummary)
mod<-list(
"(1)" = mod,
"(2)" = mod,
"(3)" = mod,
"(4)" = mod
)
modelsummary(mod, output = "latex") %>%
add_header_above(c(" ", "Age>25" = 1, "Age<=25" = 1, "Educ>12" = 1, "Educ<=25" = 1)) %>%
add_header_above(c(" ", "Gender=Male" = 2, "Gender=Female" = 2)) %>%
add_header_above(c(" ", "Dependent variable:" = 4))
我正在尝试获取多个列标签,但我在从 stargazer()
解析它时遇到问题。我试图显示在不同子样本上估计的不同模型,并在列名中描述分区。但是,它显示不正确。
我已经检查了
PS:我的问题的动机来自于在 table.
中捕获var1<-rnorm(100)
var2<-rnorm(100)
df<-data.frame(var1, var2)
mod<-lm(var1~var2)
library(stargazer)
stargazer(mod,mod,mod,mod,
column.labels='Gender=Male Gender=Female \\ & Age > 25 Age <= 25 Educ>12 Educ <=12')
结果
期望的输出
我的 LaTeX 应该是这样的。
% Table created by stargazer v.5.2.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
% Date and time: vie., ene. 15, 2021 - 13:58:54
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{tabular}{@{\extracolsep{5pt}}lcccc}
\[-1.8ex]\hline
\hline \[-1.8ex]
& \multicolumn{4}{c}{\textit{Dependent variable:}} \
\cline{2-5}
\[-1.8ex] & \multicolumn{2}{c}{Gender$=$Male} & \multicolumn{2}{c}{Gender$=$Female} \
\[-1.8ex] & \multicolumn{1}{c}{Age$>} & \multicolumn{1}{c}{Age$<=} &\multicolumn{1}{c}{Educ$>} & \multicolumn{1}{c}{Educ$<=12$} \
\[-1.8ex] & (1) & (2) & (3) & (4)\
\hline \[-1.8ex]
var2 & 0.006 & 0.006 & 0.006 & 0.006 \
& (0.101) & (0.101) & (0.101) & (0.101) \
& & & & \
Constant & $-[=11=].012 & $-[=11=].012 & $-[=11=].012 & $-[=11=].012 \
& (0.105) & (0.105) & (0.105) & (0.105) \
& & & & \
\hline \[-1.8ex]
Observations & 100 & 100 & 100 & 100 \
R$^{2}$ & 0.00004 & 0.00004 & 0.00004 & 0.00004 \
Adjusted R$^{2}$ & $-[=11=].010 & $-[=11=].010 & $-[=11=].010 & $-[=11=].010 \
Residual Std. Error (df = 98) & 1.045 & 1.045 & 1.045 & 1.045 \
F Statistic (df = 1; 98) & 0.004 & 0.004 & 0.004 & 0.004 \
\hline
\hline \[-1.8ex]
\textit{Note:} & \multicolumn{4}{r}{$^{*}$p$<[=11=].1; $^{**}$p$<[=11=].05; $^{***}$p$<[=11=].01} \
\end{tabular}
\end{table}
这是编译后的样子。
我不知道如何在 stargazer
中实现这一点,但使用 modelsummary
and kableExtra
包很容易做到(免责声明:我是 modelsummary
维护者):
library(kableExtra)
library(modelsummary)
mod<-list(
"(1)" = mod,
"(2)" = mod,
"(3)" = mod,
"(4)" = mod
)
modelsummary(mod, output = "latex") %>%
add_header_above(c(" ", "Age>25" = 1, "Age<=25" = 1, "Educ>12" = 1, "Educ<=25" = 1)) %>%
add_header_above(c(" ", "Gender=Male" = 2, "Gender=Female" = 2)) %>%
add_header_above(c(" ", "Dependent variable:" = 4))