压缩一个表中的列

压缩一个表中的列

我试图创建一个包含 7 列的汇总统计表。代码如下:

\usepackage{booktabs, makecell, tabularx}
\newcommand\mc[1]{\multicolumn{1}{c}{\scriptsize #1}}
\newcolumntype{P}{>{\raggedright\scriptsize}p{6.2cm}}
\newcolumntype{R}{*{5}{>{\scriptsize}c}}

 \begin{table}[!h]
    \renewcommand\tabularxcolumn[1]{m{#1}}
    \small
\begin{tabularx}{\linewidth}{@{}
                    L
                    S[table-format=5.0]
               *{4}{S[table-format=10.2]}
                            @{} }
        \toprule
Variables
 & {\makecell[b]{Number of\\ observations}}
 & {\makecell[b]{Mean}}
 & {\makecell[b]{Median}}
 & {\makecell[b]{Standard\\ Deviation}}
 & {\makecell[b]{Max}}
 & {\makecell[b]{Min}}\\
\midrule
Wage   & 684 & 51944.77  & 49457.41 &  20872.87 & 184744.5 & 0.000\\
Age & 684 & 39.073 & 38.478 & 2.358 & 47.072 & 33.7\\
FDI & 684 &  340.857 & 195.093 & 509.194 & 4227.236 & 0.01\\
In(FDI) & 684 & 4.908 & 5.273 & 1.712 & 8.349 & -4.605\\
GDP Share & 684 & 0.2897 & 0.2053 & 0.5058 & 7.8108 & 0.000\\
Employment Share & 456 & 0.1982 & 0.1930 & 0.1505 & 0.7702 & 0.000\\
Working Hour & 684 & 46.7068 & 47.9 & 2.3476 & 49.1 & 41.3496\\
\bottomrule %
\end{tabularx}
    \caption{Summary Statistics}
\end{table}

但结果很奇怪,Min列被其他列挤压在一起。在此处输入图片描述

Max 列附近有几个奇怪的“l”字母,我不知道为什么。

答案1

您的代码的主要问题是环境tabularx定义了 6 列,而需要 7 列定义。另一个不太严重的问题是(根据您发布的屏幕截图判断)您实际上并没有加载siunitx定义S列类型的包。修复这两个问题以及对如何定义列类型的合理猜测的结果L显示在以下屏幕截图的上半部分。

由于您对最后 5 列使用了S列类型,因此您可能还想使用此列类型对某些数字(例如,2 位小数)进行自动舍入。屏幕截图中的下表显示了如何实现此目的。(另外:显示 2 位小数而不是 4 位小数还有一个好处,就是不必将表格切换为\small。)

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{booktabs, makecell, tabularx, siunitx}
\newcolumntype{L}{>{\raggedright\arraybackslash\hangindent1em\hangafter1}X}%?

\begin{document}

\begin{table}[!h]
\setlength\tabcolsep{4pt} % default value: 6pt

\sisetup{group-digits=false}
\small
\begin{tabularx}{\linewidth}{@{}
                    L
                    c
               *{3}{S[table-format= 5.4]}
                    S[table-format= 6.4]
                    S[table-format=-1.4]
                            @{} }
\toprule
Variables
 & {\makecell[t]{No.\ of\\ obs.}}
 & {\makecell[t]{Mean}}
 & {\makecell[t]{Median}}
 & {\makecell[t]{Std.\\ Dev.}}
 & {\makecell[t]{Max}}
 & {\makecell[t]{Min}}\\
\midrule
Wage      & 684 &51944.77 & 49457.41  & 20872.87   & 184744.5    &  0.000\\
Age       & 684 & 39.073  &    38.478 &     2.358  &     47.072  & 33.7  \\
FDI       & 684 & 340.857 &   195.093 &   509.194  &   4227.236  &  0.01 \\
ln(FDI)   & 684 &   4.908 &     5.273 &     1.712  &      8.349  & -4.605\\
GDP Share & 684 &   0.2897&     0.2053&     0.5058 &      7.8108 &  0.000\\
Employment Share& 456 & 0.198 & 0.1930&     0.1505 &      0.7702 &  0.000\\
Working Hours & 684 & 46.7068 &47.9   &      2.347 &     49.1    & 41.3496\\
\bottomrule 
\end{tabularx}
\caption{Summary Statistics}

\bigskip\bigskip
\sisetup{round-mode=places,round-precision=2}
\normalsize
\begin{tabularx}{\linewidth}{@{}
                    L
                    c
               *{3}{S[table-format= 5.2]}
                    S[table-format= 6.2]
                    S[table-format=-1.2]
                            @{} }
\toprule
Variables
 & {\makecell[t]{No.\ of\\ obs.}}
 & {\makecell[t]{Mean}}
 & {\makecell[t]{Median}}
 & {\makecell[t]{Std.\\ Dev.}}
 & {\makecell[t]{Max}}
 & {\makecell[t]{Min}}\\
\midrule
Wage      & 684 &51944.77 & 49457.41  & 20872.87   & 184744.5    &  0.000\\
Age       & 684 & 39.073  &    38.478 &     2.358  &     47.072  & 33.7  \\
FDI       & 684 & 340.857 &   195.093 &   509.194  &   4227.236  &  0.01 \\
ln(FDI)   & 684 &   4.908 &     5.273 &     1.712  &      8.349  & -4.605\\
GDP Share & 684 &   0.2897&     0.2053&     0.5058 &      7.8108 &  0.000\\
Employment Share& 456 & 0.198 & 0.1930&     0.1505 &      0.7702 &  0.000\\
Working Hours & 684 & 46.7068 &47.9   &      2.3476&     49.1    & 41.3496\\
\bottomrule 
\end{tabularx}
\caption{Automatic rounding of numbers enabled}

\end{table}

\end{document}

相关内容