我最初问这个问题堆栈溢出,但建议也在这里询问......
那么,开始吧!我正在教授一门应用统计学课程,想知道是否有人可以建议我如何在方差分析的背景下显示多重比较。即 Tukey 的 HSD。
例如,如果您有四种治疗方法,那么我们通常会希望像这样总结成对比较的信息(实线,而不是虚线,并且垂直空间也不太多):
D B C A F E
----- ---
-----
这表明 D 与 A、F 和 E 有显著差异;D、B、C 彼此之间没有显著差异,等等。换句话说,我们有一条连接没有显著差异的处理线。
类似这样的方法可以工作,但一定有更好的方法来做到这一点:
\begin{tabular}{cccccc}
\cline{2-4}
D & B & C & A & F & E\tabularnewline
\hline
& & & & & \tabularnewline
\end{tabular}
此外,在更加复杂的情况下,表格也无法很好地发挥作用。
他们是如何在大多数统计文本中排版的?
答案1
此解决方案引入了\UL
(下划线),其中参数是字母,后跟空格分隔的点.
和划线列表-
,表示下划线的级别。点表示字母没有下划线,而划线表示该级别的下划线。下划线的粗细可以用设置\thk
,下划线级别之间的分隔可以用\setstackgap{S}{
长度设置}
。
此 MWE 假设您输入的是非降序大写字母。但是,如果您的输入包含降序字母,则该行\def\thesavedstack{\argi}
应替换为\def\thesavedstack{\rule[-.6\dp\strutbox]{0pt}{0pt}\argi}
。
\documentclass{article}
\usepackage{stackengine}
\usepackage{readarray}
\newcounter{index}
\newcounter{maxlines}
\newcommand\UL[1]{%
\getargsC{#1}%
\setcounter{maxlines}{\narg}%
\def\thesavedstack{\argi}%
\setcounter{index}{1}%
\whiledo{\theindex<\themaxlines}{%
\stepcounter{index}%
\if\csname arg\roman{index}\endcsname-%
\def\themark{\rule{\widthof{\argi}}{\thk}}%
\else%
\def\themark{\rule{0ex}{\thk}}%
\fi%
\savestack{\thesavedstack}{\stackunder{\thesavedstack}{\themark}}%
}%
\thesavedstack
}
\parskip 1em
\def\thk{.1ex}
\setstackgap{S}{2pt}
\begin{document}
\UL{D - .}\UL{B - -}\UL{C - -}\UL{A . -}\UL{F - .}\UL{E - .}
\UL{D - . -}\UL{B - - .}\UL{C - - .}\UL{A . - -}\UL{F - . -}\UL{E - . -}
\end{document}
以下是使用上面提到的下降技巧的结果: