包括关于观星者的注释 table 会扭曲列之间的距离
Including notes on stargazer table distorts distance between columns
我正在尝试使用 stargazer 包打印一些 table 的 plm 模型。一切正常,直到我尝试向我的 table 添加注释。不幸的是,当我添加注释时,输出 table 失真,每列之间有很大的空格。谁能帮我修一下?提前致谢!
注意:我仍在学习 Latex,因此欢迎提供也适用于 html 的解决方案
#Here I create a simple data.frame just to replicate my data
vector <- rep(0,72)
for (i in 1:72) {
vector[i] <- rnorm(1)
}
data <- as.data.frame(matrix (vector, nrow = 7))
#This outputs a normal table, with normal space width between columns
stargazer(data,
type = "text",
style = "AER")
#This is the note I want to print. However, it returns an error if I space it out like that.
stargazer(data,
type = "text",
notes = c("All models were estimated by fixed effects estimator. Errors are robust to heteroscedasticity and
autocovariance. Numbers between parenthesis are the coefficient standard deviations. * represents
significance at the 10 % level, ** represents significance at the 5% level, and *** represents significance
at the 1% level. Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"),
style = "AER")
#This outputs the table. However, there are big blank spaces between columns. How do I fix this?
stargazer(data,
type = "text",
notes = c("All models were estimated by fixed effects estimator. Errors are robust to heteroscedasticity and autocovariance. Numbers between parenthesis are the coefficient standard deviations. * represents significance at the 10 % level, ** represents significance at the 5% level, and *** represents significance at the 1% level. Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"),
style = "AER")
LaTeX 解决方案
我遇到了类似的问题,这是我针对 LaTeX 的解决方案。
首先,您需要一个单独的函数来创建自己的包含注释的小页面。
library(stargazer)
stargazernote <- function(starGazerCmd, outputfile, note){
# inserts 'note' to the end of stargazer generated latex table
ssn <- gsub(x=starGazerCmd, pattern='\end{tabular}',
replacement=paste('\end{tabular}', '\n',
'\centerline{\begin{minipage}{0.95\textwidth}~\', '\n',
'\footnotesize{' , note,
'} \end{minipage}}', sep=''), fixed=T)
cat(ssn,sep='\n',file=outputfile)
}
(您可能想尝试使用参数 {0.95\textwidth}
。有些人喜欢音符的宽度稍宽或稍窄。)
创建你的 stargazer 乳胶 table 不带注释如下:
s <- stargazer(data,
type = "latex",
style = "AER",
notes.append=FALSE,
)
然后单独创建笔记:
note <- "All models were estimated by fixed effects estimator. Errors are robust to heteroscedasticity and autocovariance. Numbers between parenthesis are the coefficient standard deviations. * represents significance at the 10 \% level, ** represents significance at the 5\% level, and *** represents significance at the 1\% level. Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"
这是第一个陷阱:%
符号被 LaTeX 解释为注释符号,因此您需要通过在 %
前面加上 \
来转义它们。
现在你可以使用上面的函数来整理笔记和 LaTeX table:
stargazernote(s, note=note, outputfile='foo.tex')
输出如下所示:
第二个问题是您需要记住在 LaTeX 文件中包含 graphicx。 .tex 文件可能如下所示:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{graphicx} %% note: the table will not render without this package.
\begin{document}
\include{foo.tex}
\end{document}
文字解
您可以像这样强制更改注释中的行(这是从 this SO question 复制的):
stargazer(data,
type = "text",
notes= c("All models were estimated by fixed effects estimator.",
"Errors are robust to heteroscedasticity and autocovariance.",
"Numbers between parenthesis are the coefficient standard deviations.",
"* represents significance at the 10 % level",
"** represents significance at the 5% level,",
"and *** represents significance at the 1% level.",
"Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"),
style = "AER")
输出:
=================================================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
---------------------------------------------------------------------------------
V1 7 0.184 0.380 -0.230 -0.004 0.231 0.957
V2 7 -0.083 1.018 -1.246 -0.827 0.631 1.322
V3 7 -0.058 0.752 -0.733 -0.610 0.495 1.025
V4 7 -0.316 1.106 -2.223 -0.725 0.412 1.120
V5 7 -0.242 0.927 -1.777 -0.809 0.397 0.743
V6 7 -0.020 1.403 -1.453 -1.202 0.756 2.348
V7 7 0.565 1.130 -1.459 0.156 1.224 2.023
V8 7 0.840 0.938 -0.493 0.334 1.302 2.256
V9 7 -0.191 0.761 -1.012 -0.766 0.236 1.107
V10 7 0.530 0.643 -0.222 0.144 0.680 1.768
V11 7 0.263 0.396 -0.230 -0.004 0.432 0.957
---------------------------------------------------------------------------------
All models were estimated by fixed effects estimator.
Errors are robust to heteroscedasticity and autocovariance.
Numbers between parenthesis are the coefficient standard deviations.
* represents significance at the 10 % level
** represents significance at the 5% level,
and *** represents significance at the 1% level.
Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)
我正在尝试使用 stargazer 包打印一些 table 的 plm 模型。一切正常,直到我尝试向我的 table 添加注释。不幸的是,当我添加注释时,输出 table 失真,每列之间有很大的空格。谁能帮我修一下?提前致谢!
注意:我仍在学习 Latex,因此欢迎提供也适用于 html 的解决方案
#Here I create a simple data.frame just to replicate my data
vector <- rep(0,72)
for (i in 1:72) {
vector[i] <- rnorm(1)
}
data <- as.data.frame(matrix (vector, nrow = 7))
#This outputs a normal table, with normal space width between columns
stargazer(data,
type = "text",
style = "AER")
#This is the note I want to print. However, it returns an error if I space it out like that.
stargazer(data,
type = "text",
notes = c("All models were estimated by fixed effects estimator. Errors are robust to heteroscedasticity and
autocovariance. Numbers between parenthesis are the coefficient standard deviations. * represents
significance at the 10 % level, ** represents significance at the 5% level, and *** represents significance
at the 1% level. Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"),
style = "AER")
#This outputs the table. However, there are big blank spaces between columns. How do I fix this?
stargazer(data,
type = "text",
notes = c("All models were estimated by fixed effects estimator. Errors are robust to heteroscedasticity and autocovariance. Numbers between parenthesis are the coefficient standard deviations. * represents significance at the 10 % level, ** represents significance at the 5% level, and *** represents significance at the 1% level. Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"),
style = "AER")
LaTeX 解决方案
我遇到了类似的问题,这是我针对 LaTeX 的解决方案。
首先,您需要一个单独的函数来创建自己的包含注释的小页面。
library(stargazer)
stargazernote <- function(starGazerCmd, outputfile, note){
# inserts 'note' to the end of stargazer generated latex table
ssn <- gsub(x=starGazerCmd, pattern='\end{tabular}',
replacement=paste('\end{tabular}', '\n',
'\centerline{\begin{minipage}{0.95\textwidth}~\', '\n',
'\footnotesize{' , note,
'} \end{minipage}}', sep=''), fixed=T)
cat(ssn,sep='\n',file=outputfile)
}
(您可能想尝试使用参数 {0.95\textwidth}
。有些人喜欢音符的宽度稍宽或稍窄。)
创建你的 stargazer 乳胶 table 不带注释如下:
s <- stargazer(data,
type = "latex",
style = "AER",
notes.append=FALSE,
)
然后单独创建笔记:
note <- "All models were estimated by fixed effects estimator. Errors are robust to heteroscedasticity and autocovariance. Numbers between parenthesis are the coefficient standard deviations. * represents significance at the 10 \% level, ** represents significance at the 5\% level, and *** represents significance at the 1\% level. Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"
这是第一个陷阱:%
符号被 LaTeX 解释为注释符号,因此您需要通过在 %
前面加上 \
来转义它们。
现在你可以使用上面的函数来整理笔记和 LaTeX table:
stargazernote(s, note=note, outputfile='foo.tex')
输出如下所示:
第二个问题是您需要记住在 LaTeX 文件中包含 graphicx。 .tex 文件可能如下所示:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{graphicx} %% note: the table will not render without this package.
\begin{document}
\include{foo.tex}
\end{document}
文字解
您可以像这样强制更改注释中的行(这是从 this SO question 复制的):
stargazer(data,
type = "text",
notes= c("All models were estimated by fixed effects estimator.",
"Errors are robust to heteroscedasticity and autocovariance.",
"Numbers between parenthesis are the coefficient standard deviations.",
"* represents significance at the 10 % level",
"** represents significance at the 5% level,",
"and *** represents significance at the 1% level.",
"Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)"),
style = "AER")
输出:
=================================================================================
Statistic N Mean St. Dev. Min Pctl(25) Pctl(75) Max
---------------------------------------------------------------------------------
V1 7 0.184 0.380 -0.230 -0.004 0.231 0.957
V2 7 -0.083 1.018 -1.246 -0.827 0.631 1.322
V3 7 -0.058 0.752 -0.733 -0.610 0.495 1.025
V4 7 -0.316 1.106 -2.223 -0.725 0.412 1.120
V5 7 -0.242 0.927 -1.777 -0.809 0.397 0.743
V6 7 -0.020 1.403 -1.453 -1.202 0.756 2.348
V7 7 0.565 1.130 -1.459 0.156 1.224 2.023
V8 7 0.840 0.938 -0.493 0.334 1.302 2.256
V9 7 -0.191 0.761 -1.012 -0.766 0.236 1.107
V10 7 0.530 0.643 -0.222 0.144 0.680 1.768
V11 7 0.263 0.396 -0.230 -0.004 0.432 0.957
---------------------------------------------------------------------------------
All models were estimated by fixed effects estimator.
Errors are robust to heteroscedasticity and autocovariance.
Numbers between parenthesis are the coefficient standard deviations.
* represents significance at the 10 % level
** represents significance at the 5% level,
and *** represents significance at the 1% level.
Models (1), (2) and (3) refer, respectively, to equations (7), (8) and (9)