在观星台上加入注解会使列间距离失真。

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

我正试图使用stargazer包打印我的plm模型的一些表格。一切都很顺利,直到我尝试在表格中添加注释。 不幸的是,当我添加注释时,输出的表格是扭曲的,每列之间有很大的空白。谁能帮我解决这个问题?先谢谢你

注:我还在学习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")

r stargazer
1个回答
1
投票

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}. 有些人喜欢稍宽或稍窄的宽度的笔记)。)

创建你的观星台乳胶表,不含注解,如下图。

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表格。

stargazernote(s, note=note, outputfile='foo.tex')

输出结果是这样的。enter image description here

第二个问题是,你需要记住在你的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}

文本解决方案

你可以像这样在笔记中强制换行(这是抄自 这个问题):

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)   
© www.soinside.com 2019 - 2024. All rights reserved.