2015-12-04 2 views
1

Я хочу создать таблицу латекс изнутри R, используя пакет таблиц. Моя проблема в том, что я хотел бы напрямую использовать имена для уровней факторов, которые могут отображаться в латексном математическом режиме. Вот пример:table-package: Как вывести уровни факторов в латексном математическом режиме?

library("tables") 
df <- data.frame(Factor = c("A", "B"), value = c(1, 2)) 
levels(df$Factor) <- c("$x^2$", "$n_p$") 
latex(tabular(table = Heading("$F_c$") * Factor ~ value * identity,data = df)) 

Я получаю результат:

\begin{tabular}{lc} 
\toprule 
& \multicolumn{1}{c}{value} \\ 
$F_c$ & \multicolumn{1}{c}{identity} \\ 
\midrule 
\$x$^{2}$\$ & $1$ \\ 
\$n\_p\$ & $2$ \\ 
\bottomrule 
\end{tabular} 

Однако я хочу, чтобы получить $ х^2 $ и $ N_p $ на выходе, а не \ $ х $^{2} $ \ $ и \ $ n_p \ $. Я не могу понять, почему он работает для имен столбцов, но не для имен уровней факторов.

+0

«x^2» вы могли бы получить без '$'. Но не 'n_p'. – Robert

+0

@ Robert Да, я тоже это заметил. – NoBackingDown

ответ

0

Вы можете использовать xtable вместо:

library("xtable") 
df <- data.frame(Factor = c("A", "B"), value = c(1, 2)) 
levels(df$Factor) <- c("$x^2$", "$n_p$") 
tab<-xtable(df) 
print(tab,sanitize.text.function = function(x) {x}) 

Это дает следующий результат:

% latex table generated in R 3.2.2 by xtable 1.8-0 package 
% Fri Dec 4 11:47:22 2015 
\begin{table}[ht] 
\centering 
\begin{tabular}{rlr} 
    \hline 
& Factor & value \\ 
    \hline 
1 & $x^2$ & 1.00 \\ 
    2 & $n_p$ & 2.00 \\ 
    \hline 
\end{tabular} 
\end{table} 

HTH!

Смежные вопросы