我目前正在使用xtable从R生成Latex表。它工作正常,但在其中一个表格中,我对某些数字有明显的影响。像这样的数据帧X:
1 2 3 4 5 Test1 Test2 Test3
a "1.34" "0.43" "-0.26" "0.13" "0.05" "3.35^{.}" "343^{***}" "3244^{***}"
b "2.02" "2.17" "-3.19" "4.43" "1.43" "390.1^{***}" "31.23^{***}" "24^{***}"
c "23.07" "32.1" "24.3" "3.89" "0.4" "429.38^{***}" "17.04^{***}" "2424^{***}"
d "21.48" "14.45" "14.19" "22.04" "0.15" "385.17^{***}" "2424^{***}" "2424^{***}"
我在星星之前使用'^',因为在Latex中,星星在那种格式下看起来更好。另一种选择是:
a "1.34" "0.43" "-0.26" "0.13" "0.05" "3.35." "343***" "3244***"
b "2.02" "2.17" "-3.19" "4.43" "1.43" "390.1***" "31.23^***" "24***"
# etc.
如果我使用xtable via:
print(xtable(X, label="X"),
size="normalsize",
include.rownames=FALSE,
include.colnames=TRUE,
caption.placement="top",
hline.after=NULL
)
我得到如下输出:
\begin{table}[ht]
\centering
{\normalsize
\begin{tabular}{llllllll}
1 & 2 & 3 & 4 & 5 & Test1 & Test2 & Test3 \\
242 & 123 & -42.3 & 0.43 & 34 & 3.35\verb|^|\{.\} # Hhere is the problem: \verb
& 242.58\verb|^|\{***\} & 0.06\verb|^|\{***\} \\ # etc. etc.
\end{tabular}
}
\end{table}
这里的问题是添加的\动词。如果xtable没有添加它,表格对我来说没问题。所以我的问题是:有没有办法解决这个问题?我只想要有以下格式的明星:
^{***}
在Latex表中的,但已经在R中生成,所以我可以快速生成正确格式的新表。 现在我使用以下函数创建星星,然后在不同的函数(未显示)中使用'paste'将它们添加到相应情况下的测试中:
symnum(s[[p]], corr = FALSE, cutpoints = c(0, .001,.01,.05, .1, 1),
symbols = c("^{***}","^{**}","^{*}","^{.}"," "))
但也许有更好的解决方案。让我知道。
答案 0 :(得分:5)
尝试设置sanitize.text.function = function(x) x
以关闭非数字值的清理。
但是,我还建议不要使用星星。