siunitx: Как правильно вывести среднее значение и стандартное отклонение в виде «M (SD)» в S-столбце?

siunitx: Как правильно вывести среднее значение и стандартное отклонение в виде «M (SD)» в S-столбце?

Я пытаюсь использоватьsiunitxв таблице результатов по психологии для выравнивания десятичных дробей, и таблица выглядит следующим образом:

\documentclass[]{article}
\begin{document}
\begin{table}[h]
    \begin{tabular}{@{}cc@{}}
    \multicolumn{2}{c}{Mean (SD)} \\
    \hline
    A & B \\
    \hline
    .45 (.23) & .78 (.11) \\ 
    \end{tabular}
\end{table}
\end{document}

Это не соответствует краткой форме неопределенности, которая siunitxиспользуется, а дает полное значение стандартного отклонения (как это обычно бывает в психологии).

Мой вопрос в том, как мне сделать siunitxвывод в формате, M (SD)предоставляя при этом SDфактическое значение стандартного отклонения в коде (например, .11)? Я не могу использовать формат короткой неопределенности, потому siunitxчто входные данные поступают из кода R (используя knitr), который возвращает реальное значение стандартного отклонения, например \Sexpr{sd(some.numbers)}.

Редактировать: Я пробовал, separate-uncertaintyно это, похоже, приводит к принудительному выводу, M ± SDа я хотел бы использовать M (SD).

решение1

Форматы, которые анализируются, siunitxэто 1.23(4)и 1.23 \pm 0.04, и никакие другие. Таким образом, чтобы достичь желаемого эффекта, необходимо выполнить некоторый анализ отдельно. Один из подходов — взять содержимое ячейки, изменить форматирование и использовать команду \tablenumдля выравнивания

\documentclass[]{article}
\usepackage{siunitx}
\def\converter\ignorespaces#1(#2){%
  \begingroup\tablenum[table-format = 1.2]{#1}\endgroup\space
  (\tablenum[table-format = 1.2]{#2})}
\newcolumntype{R}{>{\converter}c}
\begin{document}
\begin{table}[h]
    \begin{tabular}{@{}RR@{}}
    \multicolumn{2}{@{}c@{}}{Mean/SD} \\
    .45 (.23) & .78 (.11) \\
    0.2(.4) \\ 
    \end{tabular}
\end{table}
\end{document}

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