我在r中使用stargazer Package来生成乳胶文档的摘要统计信息。但是,该函数会在表格顶部生成带有标题(标题)的乳胶代码。有没有一种简单的方法将标题放在桌子下面?
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}
请注意,标题位于表格的顶部。我想拥有的是:
\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 安德烈亚斯
答案 0 :(得分:4)
我想做同样的事情,来到SO寻找答案。由于没有现成的答案,这是我的方法。基本思想是编写一个捕获并重新创建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}
答案 1 :(得分:0)
您希望将呼叫中的note
参数更改为stargazer()
stargazer(df,summary = TRUE, type = "latex",
title = "summary statistic",
notes = "put your summary statistic note here"
)