
LaTeX で OLS 回帰を作成するときにいくつか問題があり、どなたか助けていただければ幸いです。質問が 3 つあります。
1) 「Growth 91-92」と「Growth92-93」にスペースを入れて、「Growth」カテゴリの一部であることがわかるようにするにはどうすればよいですか。 2) すべてのモデル (1-5) の列を同じ長さにするにはどうすればよいですか。 3) 最初の列をモデル列よりも大きくするにはどうすればよいですか。
次のような表を作成したいと思います。
私の序文は次のようになります:
\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]
\begin{threeparttable}
\renewcommand\arraystretch{1.0}
\medskip
\renewcommand\tabcolsep{1pt}
\begin{tabular*}{\textwidth}{ @{} p{2.4cm}
@{\extracolsep{\fill}}
*{10}{S[table-format=2.6]} @{}}
\toprule
& {Model I} & {Model II} & {Model III} & {Model IV} & {Model V} \\
\emph{Afh.\ var.}
& {All partys} & {All partys} & {Social Democrat} & {Liberal} & {Conservative} \\
\midrule
\emph{Uafh.\ var.} \\
Nationalpol. effects &
\multicolumn{1}{c}{0,11\sym{***}} &
\multicolumn{1}{c}{0,22\sym{*}} &
\multicolumn{1}{c}{0,33\sym{***}} &
\multicolumn{1}{c}{0,44\sym{*}} &
\multicolumn{1}{c}{0,55\sym{***}} & \\
&
\multicolumn{1}{c}{(0,11)} &
\multicolumn{1}{c}{(0,22)} &
\multicolumn{1}{c}{(0,33)} &
\multicolumn{1}{c}{(0,44)} &
\multicolumn{1}{c}{(0,55)} & \\
Economic growth &
\multicolumn{1}{c}{0,11} &
\multicolumn{1}{c}{0,22} &
\multicolumn{1}{c}{0,33\sym{***}} &
\multicolumn{1}{c}{0,44} &
\multicolumn{1}{c}{0,55\sym{**}} & \\
&
\multicolumn{1}{c}{(0,11)} &
\multicolumn{1}{c}{(0,22)} &
\multicolumn{1}{c}{(0,33)} &
\multicolumn{1}{c}{(0,44)} &
\multicolumn{1}{c}{(0,55)} & \\
\cmidrule{1-1}
Adjusted R\textsuperscript{2} &
\multicolumn{1}{c}{0,11} &
\multicolumn{1}{c}{0,22} &
\multicolumn{1}{c}{0,33} &
\multicolumn{1}{c}{0,44} &
\multicolumn{1}{c}{0,55} & \\
N &
\multicolumn{1}{c}{111} &
\multicolumn{1}{c}{222} &
\multicolumn{1}{c}{333} &
\multicolumn{1}{c}{444} &
\multicolumn{1}{c}{555} & \\
\bottomrule
\end{tabular*}
\end{threeparttable}
\end{table}
答え1
コードにいくつか変更を加えることをお勧めします。
最も重要なことは、すべての数値セルを
\multicolumn{1}{c}{...}
ラッパーで囲まないことです。これを行う必要がないだけでなく、逆効果になります。ラッパーは、選択した基本列タイプの意図された書式設定効果を上書きし、結果として意図した書式設定がまったく得られません。siunitx
パッケージを主に (排他的に?) テーブル列タイプに使用してS
、おそらく小数点の数字の位置を揃えているようです。この印象が正しい場合は、パッケージD
によって提供される別の列タイプ を使用することをお勧めしますdcolumn
。D
列タイプを使用すると、数値列に出現する括弧や記号を処理するために必要なオーバーヘッドが少なくなります。回帰係数と標準誤差の線の間にギャップが生じないようにするには、回帰変数の名前 (最初の列) を小さなラッパーに配置して、回帰変数の名前が周囲の
tabular
- のような環境から 2 行を占めているという事実を隠す必要があります。以下のコードでは、この目的のために というマクロを作成しましたが\narrowtab
、自由に別の名前に変更してください。5 つのデータ列がほぼ同じ幅に見えるようにするには、モデル III と V のラベルを省略する必要があるようです。
残念ながら、あなたのサンプルコードではその件について何も言及されていなかったため、最初の質問に答えることができませんでした。
\documentclass[a4paper,12pt,oneside]{article}
\usepackage{threeparttable,dcolumn,caption,amsmath,array,booktabs}
\newcommand{\sym}[1]{{}^{#1}} % correct?
\newcommand\mc[1]{\multicolumn{1}{@{}c@{}}{#1}} % handy shortcut macro
\newcommand\narrowtab[2]{% %% macro to hide depth of its argument from outer tabular
\ensuremath{\smash{\begin{tabular}[t]{@{}>{\raggedright\arraybackslash}p{#1}@{}}%
#2 \end{tabular}}}}
\begin{document}
\begin{table}
\caption{Regression results}
\begin{threeparttable}
%\renewcommand\tabcolsep{1pt}
\begin{tabular*}{\textwidth}{@{} p{1in} @{\extracolsep{\fill}} *{5}{D{,}{,}{2.4}} @{}}
\toprule
& \mc{Model I} & \mc{Model II} & \mc{Model III} & \mc{Model IV} & \mc{Model V} \\
\emph{Afh.\ var.}
& \mc{All partys} & \mc{All partys} & \mc{Soc.\ Dem.} & \mc{Liberal} & \mc{Cons.} \\
\midrule
\emph{Uafh.\ var.} \\
\narrowtab{1in}{Nationalpol.\ effects} &
0,11\sym{***} & 0,22\sym{*} & 0,33\sym{***} & 0,44\sym{*} & 0,55\sym{***} \\
& (0,11) & (0,22) & (0,33) & (0,44) & (0,55) \\
\addlinespace
\narrowtab{1in}{Economic growth} &
0,11 & 0,22 & 0,33\sym{***} & 0,44 & 0,55\sym{**}\\
& (0,11) & (0,22) & (0,33) & (0,44) & (0,55) \\
\cmidrule{1-1}
Adjusted R\textsuperscript{2} &
0,11 & 0,22 & 0,33 & 0,44 & 0,55 \\
N & \mc{111} & \mc{222} & \mc{333} & \mc{444} & \mc{555} \\
\bottomrule
\end{tabular*}
\end{threeparttable}
\end{table}
\end{document}