表の末尾にある余分な列を削除する方法

表の末尾にある余分な列を削除する方法

パッケージを使用して 4 列のテーブルを作成したいと思います\usepackage[flushleft]{threeparttable}。テーブルは以下のコードに基づいています。

\begin{table} [h]
    \caption{Main results after endogeneity correction}
    \label{tab:main_results_endog}
    \centering
    \SingleSpacedXI
    \begin{subtable}[c]{\textwidth}
    \caption{Cost analysis \label{tbl:main_results_cost}}
        \centering
        \begin{threeparttable}
            
        \begin{tabular}{p{0.35\textwidth}lcp{0.35\textwidth}lcp{0.35\textwidth}lcp{0.35\textwidth}c}
          \hline\hline 
          
                    &   MRO &   Repair & Maintenance    \\  \hline
        $XXX$   &   $-0.070^{***}$ & $-0.098^{***}$ &  XXX  \\  
                &      (0.0032)          &    (0.0033)   &  XXX    \\
        Car attributes controls &   Yes & Yes   &   Yes \\  
        Driver attributes controls  &   Yes & Yes  & Yes    \\  
        $R^2$   &   0.286 & 0.296   &   XXX \\  
        \# Observations &   19,410,026 & 19,410,026     &   XXX \\  \hline\hline 
         \end{tabular}
          \begin{tablenotes}
              \item Note: Standard errors in parentheses (* p $<$ 0.05, ** p $<$ 0.01, *** p $<$ 0.001)
          \end{tablenotes}
         \end{threeparttable}
  \end{subtable}       
\quad%  
   \begin{subtable}[c]{\textwidth}
    \caption{Frequency analysis \label{tbl:main_results_frequency}}
        \centering
        \begin{threeparttable}
        \begin{tabular}{p{0.35\textwidth}lcp{0.35\textwidth}lcp{0.35\textwidth}lcp{0.35\textwidth}c}
          \hline\hline 
          
                    &   MRO &   Repair & Maintenance    \\  \hline
        $XXX$   &   $0.055^{***}$ & $0.052^{***}$   & XXX   \\  
                &      (0.0025)          &    (0.0025)   & XXX    \\
        Car attributes controls     &   Yes & Yes   & Yes   \\  
        Driver attributes controls  &   Yes & Yes & Yes \\  
        $R^2$   &   0.266 & 0.286   & XXX   \\  
        \# Observations &   18,522,387 & 18,522,387  & XXXX     \\  \hline\hline 
         \end{tabular}
         \begin{tablenotes}
              \item Note: Standard errors in parentheses (* p $<$ 0.05, ** p $<$ 0.01, *** p $<$ 0.001)
          \end{tablenotes}
        \end{threeparttable}
    \end{subtable}
\end{table}

コードは以下の表を出力します。最後に余分な列があるのはなぜですか? どうすれば削除できますか?

ここに画像の説明を入力してください

答え1

現在、両方のtabular環境に11列を指定しています。両方のテーブルには実際には4列しかないため、書式設定の問題を修正する最善の方法は、

\begin{tabular}{p{0.35\textwidth}lcp{0.35\textwidth}lcp{0.35\textwidth}lcp{0.35\textwidth}c}

\begin{tabular}{p{0.35\textwidth}lcp{0.35\textwidth}}

もちろん、これは残りの 4 つの列の仕様に問題がないことを前提としています。問題がある場合は、自由にもっと良い選択肢を考え出してください。

追加コメント3つ:

  • パッケージの仕組みをほとんど使用していないのでthreeparttable、オーバーヘッドが発生しないようにします。

  • テーブルがテキスト ブロック内に収まるようにする作業を簡素化するには、環境から 環境 (ターゲット幅は)tabularに切り替えて、の2 番目のインスタンスを に置き換えます。tabularx\textwidthp{0.35\textwidth}X

  • 煩雑に見えるディレクティブを削除し、パッケージ\hline\hlineのルール描画マクロ、、およびに置き換えます。booktabs\toprule\midrule\bottomrule

ここに画像の説明を入力してください

\documentclass{article} % or some other suitable document class
\usepackage{subcaption,booktabs,tabularx}

\begin{document}
\begin{table}[h]
    \caption{Main results after endogeneity correction}
    \label{tab:main_results_endog}
    
    % \SingleSpacedXI % huh?
    

    \begin{subtable}{\textwidth}

    \caption{Cost analysis}
    \label{tbl:main_results_cost}
       
    \begin{tabularx}{\textwidth}{@{} p{0.35\textwidth} l c X @{}}
        \toprule       
                    &   MRO &   Repair & Maintenance    \\  
        \midrule
        \textit{XXX}   &   $-0.070^{***}$ & $-0.098^{***}$ &  XXX  \\  
                       &      (0.0032)    &    (0.0033)    &  XXX    \\
        \addlinespace
        Car attributes controls     &   Yes & Yes   &   Yes \\  
        Driver attributes controls  &   Yes & Yes  & Yes    \\  
        $R^2$                       &   0.286 & 0.296   &   XXX \\  
        \# Observations             &   19,410,026 & 19,410,026     &   XXX \\  
        \bottomrule 
    \end{tabularx}
         
    \smallskip\footnotesize
    Note: Standard errors in parentheses; $^{*}$ $p < 0.05$, $^{**}$ $p < 0.01$, $^{***}$ $p < 0.001$.
    \end{subtable}       

    \bigskip\bigskip
    \begin{subtable}{\textwidth}

    \caption{Frequency analysis} 
    \label{tbl:main_results_frequency}

    \begin{tabularx}{\textwidth}{@{} p{0.35\textwidth} l c X @{}}
        \toprule      
                    &   MRO &   Repair & Maintenance    \\  
        \midrule
        \textit{XXX}   &   $0.055^{***}$ & $0.052^{***}$   & XXX   \\  
                       &      (0.0025)   &    (0.0025)   & XXX    \\
        \addlinespace
        Car attributes controls     &   Yes & Yes   & Yes   \\  
        Driver attributes controls  &   Yes & Yes & Yes \\  
        $R^2$                       &   0.266 & 0.286   & XXX   \\  
        \# Observations             &   18,522,387 & 18,522,387  & XXXX     \\  
        \bottomrule 
    \end{tabularx}
        
    \smallskip\footnotesize
    Note: Standard errors in parentheses; $^{*}$ $p < 0.05$, $^{**}$ $p < 0.01$, $^{***}$ $p < 0.001$.
\end{subtable}
\end{table}

\end{document}

関連情報