我正在使用 estout(实际上是 esttab)从 Stata 生成 Latex 表格。我正在使用 dcolumn 包来对齐表格中的小数位。
我想覆盖单行的对齐方式;具体来说是观察行的数量。有办法吗?或者,等效地,是否有办法在行中的每个元素前加上“\multicolumn{1}{c}{”前缀,后缀加上“}”,这将覆盖 dcolumn 对齐方式?
例子:
\begin{table}[htbp]\centering
\caption{My Table}
\begin{tabular}{l*{3}{D{.}{.}{-1}}}
\toprule
&\multicolumn{1}{c}{Mean/s.d.}&\multicolumn{1}{c}{Mean/s.d.}&\multicolumn{1}{c}{Mean/s.d.}\\
\midrule
Var A & 8.68& 8.51& 8.92\\
& 2.42& 2.51& 2.26\\
Var B & 2.14& 1.98& 2.37\\
& 1.33& 1.29& 1.35\\
\midrule
Observations & 38040& 22054& 15986\\
\bottomrule
\end{tabular}
\end{table}
谢谢!
答案1
优秀希尼奇包会让事情变得更容易一些。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[tableposition=top]{caption}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{table}[!ht]
\caption{My Table}
\centering
\begin{tabular}{l*{3}{S}}\toprule
& {Mean/s.d.} & {Mean/s.d.} &{Mean/s.d.} \\ \midrule
Var A & 8.68 & 8.51 & 8.92 \\
& 2.42 & 2.51 & 2.26 \\ \addlinespace
Var B & 2.14 & 1.98 & 2.37 \\
& 1.33 & 1.29 & 1.35 \\ \midrule
Observations & {38040} & {22054} & {15986} \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
使用花括号进行额外分组可使相关单元格内容显示为简单文本,而不是要解析的数字。有关自定义的详细信息,请参阅包手册。
答案2
你试过使用layout
的子选项stats
吗?它看起来接受文本输入,所以你可能想尝试类似
estout ... , stats(N , layout("\multicolumn{1}{c}{@}"))
嗯。如果我尝试一下
sysuse auto, clear
reg mpg wei for
estout , stats(N , layout("\multicolumn{1}{c}{@}"))
似乎它也能对变量列进行格式化。嗯,好吧。