Stargazer R 包:标题在 Latex 中的位置 Table

Stargazer R Package: Position of Title in Latex Table

我正在使用 r 中的 stargazer 包来生成乳胶文档的汇总统计信息。但是,该函数生成的乳胶代码的标题 (caption) 位于 table 之上。有没有一种简单的方法可以将标题放在 table 下方?

require(stargazer)
df <- data.frame(a=c(1,2,3),
                 b=c(2,3,5),
                 c=c(8,8,9))

stargazer(df,summary = TRUE, type = "latex",
          title = "summary statistic")

函数的输出如下:

\begin{table}[!htbp] \centering 
  \caption{summary statistic} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccccc} 
\[-1.8ex]\hline 
\hline \[-1.8ex] 
Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Max} \ 
\hline \[-1.8ex] 
a & 3 & 2.000 & 1.000 & 1 & 3 \ 
b & 3 & 3.333 & 1.528 & 2 & 5 \ 
c & 3 & 8.333 & 0.577 & 8 & 9 \ 
\hline \[-1.8ex] 
\end{tabular} 
\end{table} 

请注意标题位于 table 之上。我想要的是以下内容:

\begin{table}[!htbp] \centering 
\begin{tabular}{@{\extracolsep{5pt}}lccccc} 
\[-1.8ex]\hline 
\hline \[-1.8ex] 
Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Max} \ 
\hline \[-1.8ex] 
a & 3 & 2.000 & 1.000 & 1 & 3 \ 
b & 3 & 3.333 & 1.528 & 2 & 5 \ 
c & 3 & 8.333 & 0.577 & 8 & 9 \ 
\hline \[-1.8ex] 
\end{tabular} 

  \caption{summary statistic} 
  \label{} 

\end{table} 

HTH 安德烈亚斯

您想在对 stargazer() 的调用中更改 note 参数,例如

stargazer(df,summary = TRUE, type = "latex",
          title = "summary statistic",
          notes = "put your summary statistic note here"
)

我也想做同样的事情,所以来到SO寻找答案。由于没有现成的答案,这是我的方法。基本思想是编写一个函数来捕获 re-creates stargazer 输出,将标题和标签移动到底部:

caption_at_bottom <- function(expr) {
  x <- capture.output(expr)
  cap <- grep("\\caption", x)
  lab <- grep("\\label", x)
  last <- grep("\\end\{table", x)
  cat(
    paste(
      c(x[-last], x[cap], x[lab], x[last])[-c(cap, lab)]
    , collapse = "\n")
  , "\n")
}

使用你的例子:

caption_at_bottom(
  stargazer(df, summary = TRUE, type = "latex", header = F,
          title = "summary statistic")
)

# \begin{table}[!htbp] \centering 
# \begin{tabular}{@{\extracolsep{5pt}}lccccc} 
# \[-1.8ex]\hline 
# \hline \[-1.8ex] 
# Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Max} \ 
# \hline \[-1.8ex] 
# a & 3 & 2.000 & 1.000 & 1 & 3 \ 
# b & 3 & 3.333 & 1.528 & 2 & 5 \ 
# c & 3 & 8.333 & 0.577 & 8 & 9 \ 
# \hline \[-1.8ex] 
# \end{tabular} 
#   \caption{summary statistic} 
#   \label{} 
# \end{table}