Como você projetaria a tabela a seguir?

Como você projetaria a tabela a seguir?

Meu objetivo é apresentar de forma concisa as precisões de teste alcançadas por modelos treinados nos conjuntos de dados R1, R2 e R3. Para conseguir isso, treinei os modelos em múltiplas fases, incorporando gradualmente mais dados de cada um dos três conjuntos, em vez de começar com todo o conjunto de dados de uma só vez. insira a descrição da imagem aqui

O que você acha disso? Não tenho certeza se você pode evitar repetir os nomes dos conjuntos de dados para cada modelo. Eu agradeceria qualquer conselho

Responder1

Minha principal recomendação é que você transponha o material, principalmente para que tenha apenas 4 ou 5 colunas em vez de 10 ou mais.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{array,booktabs}
\usepackage[flushleft]{threeparttable}

\begin{document}

\begin{table}[h]
\centering
\begin{threeparttable}
\caption{Test accuracies achieved by models trained on datasets R1, R2, and~R3}
\begin{tabular}{@{} ll ccc @{}}
\toprule
\multicolumn{2}{@{}l@{}}{Model} & \multicolumn{3}{c@{}}{Training Phases} \\
\cmidrule(l){3-5} 
&& Phase 1 & Phase 2 & Phase 3 \\
\midrule
\multicolumn{2}{@{}l@{}}{Decision Tree} \\
& R1 & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots \\
\addlinespace
\multicolumn{2}{@{}l@{}}{LSTU} \\
& R1 & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots \\
\addlinespace
\multicolumn{2}{@{}l@{}}{Average} \\
& R1 & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}

\end{document}

Termo aditivopara atender ao comentário/solicitação de acompanhamento do OP: Para inserir uma nova coluna alinhada ao centro na tabela mostrada acima e usar "Linha de base" como o conteúdo do novo cabeçalho, a principal alteração que você precisa fazer é substituir

\begin{tabular}{@{} ll ccc @{}}

com

\begin{tabular}{@{} ll c ccc @{}}

A seguir, mude

\cmidrule(l){3-5}

para

\cmidrule(l){4-6}

E, claro, não se esqueça de inserir o conteúdo da nova coluna 3 da tabela – 1 célula para cada linha.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{array,booktabs}
\usepackage[flushleft]{threeparttable}
\newcommand\ML[1]{\multicolumn{2}{@{}l}{#1}} % handy shortcut macro

\begin{document}

\begin{table}[h]
\centering
\begin{threeparttable}
\caption{Test accuracies achieved by models trained on datasets R1, R2, and~R3}
\begin{tabular}{@{} ll c ccc @{}}
\toprule
\ML{Model} & Baseline & \multicolumn{3}{c@{}}{Training Phases} \\
\cmidrule(l){4-6} 
&&& Phase 1 & Phase 2 & Phase 3 \\
\midrule
\ML{Decision Tree} \\
& R1 & \dots & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots & \dots \\
\addlinespace
\ML{LSTU} \\
& R1 & \dots & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots & \dots \\
\addlinespace
\ML{Average} \\
& R1 & \dots & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots & \dots \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}

\end{document}

Responder2

Não acho que seja tão ruim repetir os nomes. Eu descobri o seguinte. Dependendo dos seus dados, talvez você queira usar Scolunas do siunitxpacote e/ou colocar o texto em negrito ( \textbf{...}). insira a descrição da imagem aqui

\documentclass{article}
\usepackage{booktabs,multirow}

\begin{document}
    \begin{tabular}{llllllllll}
        \toprule
        \multirow{2}{*}{Training phases} & \multicolumn{3}{c}{Decision Tree} & \multicolumn{3}{c}{LST M} & \multicolumn{3}{c}{Average} \\ \cmidrule(lr){2-4}\cmidrule(lr){5-7}\cmidrule(lr){8-10}
                                         & R1     & R2     & R3              & R1     & R2     & R3      & R1     & R2     & R3        \\ \midrule
        Training phase 1                 & \ldots & \ldots & \ldots          & \ldots & \ldots & \ldots  & \ldots & \ldots & \ldots    \\
        Training phase 2                 & \ldots & \ldots & \ldots          & \ldots & \ldots & \ldots  & \ldots & \ldots & \ldots    \\
        Training phase 3                 & \ldots & \ldots & \ldots          & \ldots & \ldots & \ldots  & \ldots & \ldots & \ldots    \\ \bottomrule
    \end{tabular}
\end{document}

Responder3

Quando eu fizer dois desses quadros, recorrerei ao Excel2latex. Esta é uma macro formidável do Excel que permite digitalizar automaticamente o código LATEX de um quadro Excel. É uma marcha super boa e está disponível on-line em acesso aberto. Você deve consultar o "Reed me" da sua macro para ver os pacotes necessários para sua utilização (bigstruth, colortbl, multirow etc.).

Com esta ferramenta, você construirá sua tabela no Excel. Então, selecione e clique em "converter tabela em látex". Em um segundo, você produzirá o código latex da tabela selecionada.

Responder4

Quando preciso fazer essas tabelas, uso o Excel2latex. É uma ótima macro do Excel que reproduz automaticamente o código LaTeX de uma tabela do Excel. Funciona muito bem e está disponível online em acesso aberto. Você deve verificar o "Leia-me" da macro para ver os pacotes necessários para utilizá-la (bigstruth, colortbl, multirow etc.).

Com esta ferramenta você constrói sua tabela no Excel. Então você seleciona e clica em "converter tabela para LaTeX". Em um segundo, produz o código LaTeX da tabela selecionada.

informação relacionada