Stargazer R Package: Position of Title in Latex Table

I am using the stargazer Package in r to produce summary statistics for latex documents. However, the function produces latex code with the title (caption) on top of the table. Is is there an easy way to put the title below the 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")

The output of the function is the following:

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} 

Note that the caption is on top of the table. What I would like to have is the following:

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 Andreas


I wanted to do the same thing and came to SO to look for an answer. Since there's no existing answer, here's my approach. The basic idea is to write a function that captures and re-creates the stargazer output, moving the caption and label to the bottom:

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

Using your example:

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}

你想改变调用stargazer()note参数

stargazer(df,summary = TRUE, type = "latex",
          title = "summary statistic",
          notes = "put your summary statistic note here"
)
链接地址: http://www.djcxy.com/p/25006.html

上一篇: rm(list = ls())不会完全清除工作区

下一篇: Stargazer R包装:标题在乳胶表中的位置