tables-package:如何在乳胶数学模式下输出因子水平?

时间:2015-12-04 10:35:00

标签: r latex

我想使用tables包从R中生成一个latex表。我的问题是我想直接使用可以在乳胶数学模式中显示的因子水平的名称。这是一个例子:

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}

但是,我想在输出中获得$ x ^ 2 $和$ n_p $,而不是\ $ x $ ^ {2} $ \ $和\ $ n_p \ $。我无法理解为什么它适用于列名,但不能理解因子级别的名称。

1 个答案:

答案 0 :(得分: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!