Подтвердить что ты не робот

Обработка обратных косых латексов в xxtable

У меня есть таблица, которая включает следующий столбец:

 mytable <- data.frame(beta_0 = c(1,2,3)

Что я хочу сделать, это вывести таблицу с заголовком столбца в латексной разметке, например. $\beta_0$

Однако я не могу понять, как вывести "$\beta_0 $" с помощью print.xtable:

colnames(mytable) <- "$\beta_0$"
library(xtable)
print(xtable(mytable), include.rownames = F)

возвращает заголовок столбца

\eta\_0\$

вместо

$\beta_0$

Я предполагаю, что ответом является аргумент "sanitize.colnames.function" для print.xtable, но мне не очевидно, как его использовать, а ?print.xtable не содержит примеров.

В частности, я хотел бы вывести таблицу латекса, например:

\begin{table}[ht]
 \begin{center}
  \begin{tabular}{r}
    \hline
    $\beta_0$ \\ 
    \hline
    1.00 \\ 
    2.00 \\ 
    3.00 \\ 
    \hline
  \end{tabular}
 \end{center}
\end{table}
4b9b3361

Ответ 1

Здесь два вопроса; во-первых, вам нужна двойная обратная косая черта, поскольку в противном случае она рассматривает ее как последовательность управления. Во-вторых, по умолчанию xtable санирует текст, чтобы он не нарушил LaTeX. Используйте один из параметров sanitize. для управления этим; не делать никакой дезинфекции, передавать ей функцию идентификации.

colnames(mytable) <- "$\\beta_0$"
print(xtable(mytable), include.rownames = F, sanitize.colnames.function = identity)