
Ich habe einige Probleme beim Erstellen meiner OLS-Regression in LaTeX und hoffe wirklich, dass mir jemand von euch helfen kann. Ich habe drei Fragen:
1) Wie kann ich „Wachstum 91-92“ und „Wachstum 92-93“ mit einem Leerzeichen versehen, damit ich erkennen kann, dass es Teil der Kategorie „Wachstum“ ist? 2) Wie kann ich alle Modellspalten (1-5) gleich lang machen? 3) Wie kann ich die erste Spalte ein bisschen größer machen als die Modellspalten?
Ich möchte eine Tabelle erstellen, die so aussieht:
Meine Präambel sieht folgendermaßen aus:
\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}
Antwort1
Ich schlage vor, dass Sie einige Änderungen an Ihrem Code vornehmen.
Am wichtigsten ist, dass Sie nicht jede einzelne numerische Zelle in einen
\multicolumn{1}{c}{...}
Wrapper einschließen. Dies ist nicht nur unnötig, sondern auch kontraproduktiv: Die Wrapper überschreiben die beabsichtigten Formatierungseffekte des von Ihnen gewählten Basisspaltentyps, und in der Folge erhalten Sie nichts von der beabsichtigten Formatierung.siunitx
Es sieht so aus, als würden Sie das Paket hauptsächlich (ausschließlich?) für seinenS
Tabellenspaltentyp verwenden , wahrscheinlich um die Zahlen an ihren Dezimaltrennzeichen auszurichten. Wenn dieser Eindruck zutrifft, empfehle ich Ihnen, tatsächlich einen anderen Spaltentyp zu verwenden:D
, der vomdcolumn
Paket bereitgestellt wird. Mit demD
Spaltentyp ist weniger Aufwand erforderlich, um mit Klammern und Symbolen umzugehen, die in den numerischen Spalten vorkommen.Um eine Lücke zwischen den Zeilen des Regressionskoeffizienten und des Standardfehlers zu vermeiden, können Sie die Namen der Regressoren (in der ersten Spalte) in einen kleinen Wrapper einfügen, der die Tatsache verbirgt, dass die Regressornamen zwei Zeilen der umgebenden
tabular
-ähnlichen Umgebung einnehmen. Im folgenden Code habe ich\narrowtab
zu diesem Zweck ein Makro erstellt; Sie können es gerne umbenennen.Um den Eindruck zu vermitteln, dass die fünf Datenspalten etwa gleich breit sind, erscheint es notwendig, die Beschriftungen der Modelle III und V abzukürzen.
Leider konnte ich Ihre erste Frage nicht beantworten, da Ihr Beispielcode diesbezüglich keinen Hinweis enthält.
\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}