我在 LaTeX 中创建 OLS 回归时遇到了一些问题,真心希望你们能帮助我。(我不知道如何创建更多列并添加文本,例如:从属/独立/参考)
我想创建一个表,如下所示:
我的序言如下:
\documentclass[a4paper,12pt,oneside]{article}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgf}
\usetikzlibrary{shapes,arrows,positioning,calc,threeparttable}
\usepackage{tabu}
\usepackage{hyperref}
\usepackage{longtable}
\usepackage{array}
\usepackage{multirow,tabularx,booktabs}
\begin{document}
\begin{table}[H]
\centering
\begin{threeparttable}
\caption{OLS}\label{OLS}
\medskip
\begin{tabular*}{1.0\textwidth}{
@{\extracolsep{\fill}}
l
S[table-format=4.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=3.0]
S[table-format=2.0]
}
\toprule
& \multicolumn{2}{c}{Name1 Option1/Option2} & \multicolumn{2}{c}{Name2 Option1/Option2} & \multicolumn{2}{c}{Name3 Option1/Option2} & \multicolumn{2}{c}{Name4 Option1/Option2} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
& {Model 1} & {Model 2} & {Model 3} & {Model 4} & {Model 5} & {Model 6} & {Model 7} & {Model 8}
& & {Factor} & {Factor} & {Factor} & {Factor} & {Factor} & {Factor} & {Factor} & {Factor} & {Factor} & {Factor}
\\
\midrule
Name 1 & 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) \\
Name 2 & 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) && 0.39 (0.49) \\
Name 1 x Name 2 & & 0.39 (0.49) & & 0.39 (0.49) & & 0.39 (0.49) & & 0.39 (0.49) \\
R2 \\
Name 1 \\
Name 2 \\
\bottomrule
\end{tabular*}
\begin{tablenotes}
\item[Note:] Long note
\end{tablenotes}
\end{threeparttable}
\end{table}
如果“Option1/Option2”下面的几行也能这样,那就完美了。
所有评论和其他 OLS 设置均正常。
这里是 Mico:
Name 1$\times$ \ \ \ Name 2 & & 0.39 & & 0.39 & & 0.39 & & 0.39 \\
& & (0.49) & & (0.49) & & (0.49) & & (0.49) \\
AF——应该是:
Name 1$\times$ & & 0.39 & & 0.39 & & 0.39 & & 0.39 \\
\ \ \ Name 2 & & (0.49) & & (0.49) & & (0.49) & & (0.49) \\
我敢说没有危险,特别是如果“名称 2”缩进一点,你的读者会开始认为“名称 2”是一个不同的变量......
答案1
我重新排列了代码的各个部分,使其看起来更像您发布的图像,因为这显然是您希望表格看起来的样子。特别要注意的是,如果您希望与系数估计相关的标准误差显示在系数下方,则它们需要位于单独的行中,而不是以 的形式0.39 (0.49)
。
您面临的最基本的挑战是,您试图在一个表格中传达大量信息,其中包含 8 个数据列和一个标题列。假设您使用“正常”边距设置(例如,1in
四周)排版文档,则必须非常积极地缩写变量名称,以使所有内容都适合文本块的宽度。即使进行了这些简化,如果数字比简单类型的数字更宽,也可能无法容纳 8 个数据列0.38
——除非您开始减小用于排版表格的字体大小(通过诸如\small
或 之类的指令\footnotesize
)。
\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel}
\usepackage[margin=1in]{geometry} % set margins as per your requirements
\usepackage{threeparttable,booktabs,siunitx}
\sisetup{input-symbols = ()} % don't treat parens as "uncertainty indicators"
\begin{document}
\begin{table}
\begin{threeparttable}
\caption{OLS}\label{OLS}
\medskip
\setlength\tabcolsep{1pt} % Set this to some very small value ...
\begin{tabular*}{\textwidth}{ @{} p{2cm}
@{\extracolsep{\fill}} % and let LaTeX provide the necessary "fill" amount
*{8}{S[table-format=2.3]} @{}}
\toprule
\emph{Ref.\ 1/0}
& \multicolumn{2}{c}{Name1}
& \multicolumn{2}{c}{Name2}
& \multicolumn{2}{c}{Name3}
& \multicolumn{2}{c@{}}{Name4}\\
& \multicolumn{2}{c}{Opt.1/Opt.2}
& \multicolumn{2}{c}{Opt.1/Opt.2}
& \multicolumn{2}{c}{Opt.1/Opt.2}
& \multicolumn{2}{c@{}}{Opt.1/Opt.2} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
\cmidrule(lr){6-7} \cmidrule(l){8-9}
& {(1)} & {(2)} & {(3)} & {(4)}
& {(5)} & {(6)} & {(7)} & {(8)} \\
\emph{Dep.\ var.}
& {Factor} & {Factor} & {Factor} & {Factor}
& {Factor} & {Factor} & {Factor} & {Factor} \\
\midrule
\emph{Indep.\ var.}\\
Name 1 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 \\
& (0.49) & (0.49) & (0.49) & (0.49) & (0.49) & (0.49) & (0.49) & (0.49) \\
Name 2 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 & 0.39 \\
& (0.49) & (0.49) & (0.49) & (0.49) & (0.49) & (0.49) & (0.49) & (0.49) \\
N1$\times$N2 & & 0.39 & & 0.39 & & 0.39 & & 0.39 \\
& & (0.49) & & (0.49) & & (0.49) & & (0.49) \\
\cmidrule{1-1}
R\textsuperscript{2} \\
Name 1 \\
Name 2 \\
\bottomrule
\end{tabular*}
\begin{tablenotes}
\item[Note:] Long note
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
作为一般建议,我建议您考虑只显示四列数据(最多六列)。纸张(和电子存储器)非常便宜;创建这些表格没有任何坏处,而且有很多好处两张桌子,每个表格都有一个标题列和 4(或 6)个数据列。如果你给读者提供过于密集的表格,你可能会遇到阻力,甚至一些彻头彻尾的敌意。或者他们会拒绝阅读你在表格中所说的内容……