我正在尝试使用乳胶中的表格创建下表。
探索类似问题的堆栈交换像这个带我来到了我现在的桌子:
\usepackage{multirow}
\begin{document}
\begin{table}[htbp]
\caption{Confusion Matrix}
\begin{center}
\begin{tabular}{|c|c|c|c|}\hline\vline
\multirow{1}{*}{N=986}
& \multicolumn{3}{c}{Predicted} \\%
\cline{3-4}
\multirow{1}{*}{}
& No & Yes\\%
\hline
\multirow{2}{*}{Actual}
& \multirow{1}{*}{No} & TN = 27 & FP = 176\\%
\cline{2-4}
& \multirow{1}{*}{Yes} & FN = 9 & TP = 174\\%
\hline
\end{tabular}
\end{center}
\label{tab:confusion-matrix}
\end{table}
\end{document}
到目前为止,此代码生成给定的表:
现在,我应该如何更改以确保N=986
占据合并前 2 行和列的单元格,而Predicted
占据第 1 行和第 3 列和第 4 列,而No
和Yes
分别占据第 2 行和第 3 列和第 4 列?我已经尝试过尝试代码,但这个是最接近预期输出的。
PS 我也不确定为什么前两个单元格的最右侧没有 vline。我在使用 LaTeX 进行表格操作时确实遇到了很多麻烦。
答案1
删除不必要的multirow
s 和\vline
,并添加遗漏的 & 符号后:
\documentclass{article}
\usepackage{multirow}
\usepackage[skip=1ex]{caption}
\begin{document}
\begin{table}[htbp]
\caption{Confusion Matrix}
\label{tab:confusion-matrix}
\centering
\renewcommand\arraystretch{1.2}
\begin{tabular}{|c|c|c|c|}\hline
\multirow{2}{*}{N=986}
& \multicolumn{3}{c|}{Predicted} \\
\cline{2-4}
& & No & Yes \\
\hline
\multirow{2}{*}{Actual}
& No & TN = 27 & FP = 176 \\
\cline{2-4}
& Yes & FN = 9 & TP = 174 \\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
解决方案如下makecell
:
\documentclass{article}
\usepackage{array}
\usepackage{booktabs, caption}
\usepackage{multirow, makecell}
\renewcommand{\theadfont}{\normalsize\bfseries\itshape}
\usepackage{lipsum}
\begin{document}
\begin{table}[htbp]
\renewcommand{\thetable}{\Roman{table}}
\captionsetup{skip = 0pt, font = sc}
\setlength{\extrarowheight}{2pt}
\caption{Confusion Matrix}
\begin{center}
\begin{tabular}{|c|c|c|c|}\hline%\vline
\multicolumn{2}{|c|}{ \multirowcell{2.2}{N=986}}
& \multicolumn{2}{c|}{\bfseries Predicted} \\%
\cline{3-4}
\multicolumn{2}{|c|}{} & \thead{No} & \thead{Yes}\\%
\hline
\multirowcell{2.7}{\bfseries Actual}
& \thead{No} & TN = 27 & FP = 176\\%
\cline{2-4}
& \thead{Yes} & FN = 9 & TP = 174\\%
\hline
\end{tabular}
\end{center}
\label{tab:confusion-matrix}
\end{table}
\end{document}