Как бы вы оформили следующую таблицу?

Как бы вы оформили следующую таблицу?

Моя цель — представить точность тестов, достигнутую моделями, обученными на наборах данных R1, R2 и R3, в сжатой форме. Чтобы добиться этого, я обучал модели в несколько этапов, постепенно включая больше данных из каждого из трех наборов, а не начинал со всего набора данных сразу. введите описание изображения здесь

Что вы об этом думаете? Я не совсем уверен, можно ли избежать повторения названий наборов данных для каждой модели. Буду признателен за любой совет

решение1

Моя главная рекомендация — транспонировать материал, главным образом, так, чтобы у вас было всего 4 или 5 колонок вместо 10 или более.

введите описание изображения здесь

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

Приложениедля ответа на последующий комментарий/запрос OP: чтобы вставить новый, выровненный по центру столбец в таблицу, показанную выше, и использовать «Базовую линию» в качестве содержимого нового заголовка, основное изменение, которое вам нужно сделать, это заменить

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

с

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

Далее, изменение

\cmidrule(l){3-5}

к

\cmidrule(l){4-6}

И, конечно же, не забудьте вставить содержимое нового столбца 3 в таблицу — по 1 ячейке на каждую строку.

введите описание изображения здесь

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

решение2

Я не думаю, что будет слишком плохо повторить имена. Я придумал следующее. В зависимости от ваших данных, вы, возможно, захотите использовать Sстолбцы из siunitxпакета и/или выделить текст жирным шрифтом ( \textbf{...}). введите описание изображения здесь

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

решение3

Поскольку у меня есть две таблицы, я обращаюсь к Excel2latex. Это мощный макрос Excel, позволяющий автоматизировать редактирование кода LATEX таблицы Excel. Это очень хороший товар, и он доступен онлайн в открытом доступе. Необходимо воспользоваться макросом Ladite «Reed Me», чтобы просмотреть пакеты, необходимые для его использования (bigstruth, colortbl, multirow и т. д.).

С помощью этого инструмента вы создадите свою таблицу в Excel. Затем выберете и кликните на «преобразовать стол в латекс». Во-вторых, вы получите латексный код выбранной таблицы.

решение4

Когда мне нужно сделать такие таблицы, я использую Excel2latex. Это отличный макрос Excel, который автоматически воспроизводит код LaTeX таблицы Excel. Он отлично работает и доступен онлайн в открытом доступе. Вам нужно проверить «Read me» макроса, чтобы увидеть пакеты, необходимые для его использования (bigstruth, colortbl, multirow и т. д.).

С помощью этого инструмента вы создаете свою таблицу в Excel. Затем выбираете ее и нажимаете «конвертировать таблицу в LaTeX». За одну секунду он создает код LaTeX выбранной таблицы.

Связанный контент