¿Cómo diseñarías la siguiente tabla?

¿Cómo diseñarías la siguiente tabla?

Mi objetivo es presentar de manera concisa las precisiones de las pruebas logradas por modelos entrenados en los conjuntos de datos R1, R2 y R3. Para lograr esto, entrené los modelos en múltiples fases, incorporando gradualmente más datos de cada uno de los tres conjuntos, en lugar de comenzar con todo el conjunto de datos a la vez. ingrese la descripción de la imagen aquí

¿Qué piensa usted al respecto? No estoy muy seguro de si se puede evitar tener que repetir los nombres del conjunto de datos para cada modelo. Apreciaría cualquier consejo

Respuesta1

Mi principal recomendación es que transpongas el material, principalmente para que tengas sólo 4 o 5 columnas en lugar de 10 o más.

ingrese la descripción de la imagen aquí

\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}

Apéndicepara abordar el comentario/solicitud de seguimiento del OP: para insertar una nueva columna alineada al centro en la tabla que se muestra arriba y usar "Línea de base" como contenido del nuevo encabezado, el cambio principal que debe realizar es reemplazar

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

con

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

A continuación, cambie

\cmidrule(l){3-5}

a

\cmidrule(l){4-6}

Y, por supuesto, no olvide insertar el contenido de la nueva columna 3 de la tabla: 1 celda para cada fila.

ingrese la descripción de la imagen aquí

\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}

Respuesta2

No creo que esté mal repetir los nombres. Se me ocurrió lo siguiente. Dependiendo de sus datos, tal vez desee utilizar Scolumnas del siunitxpaquete y/o poner el texto en negrita ( \textbf{...}). ingrese la descripción de la imagen aquí

\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}

Respuesta3

Lorsque je dois faire de tels tableaux, je recurr à Excel2latex. Esta es una formidable macro de Excel que permite editar automáticamente el código LATEX de una tabla de Excel. Ça marche super bien, et s'est disponible en línea en Open Access. Simplemente consulte "Reed me" de ladite macro para ver los paquetes necesarios para su utilización (bigstruth, colortbl, multirow, etc.).

Con estas herramientas, construye tu tabla en Excel. Luego, seleccione y haga clic en "convertir mesa en látex". En un segundo, esto producirá el código de látex del cuadro seleccionado.

Respuesta4

Cuando necesito hacer este tipo de tablas, uso Excel2latex. Es una excelente macro de Excel que reproduce automáticamente el código LaTeX de una tabla de Excel. Funciona muy bien y está disponible en línea en acceso abierto. Tienes que marcar el "Léame" de la macro para ver los paquetes necesarios para usarla (bigstruth, colortbl, multirow, etc.).

Con esta herramienta, construyes tu tabla en Excel. Luego lo seleccionas y haces clic en "convertir tabla a LaTeX". En un segundo, genera el código LaTeX de la tabla seleccionada.

información relacionada