2013-02-08 62 views
2

我在R中有一个数据框,不幸的是它里面有包含美元符号的字符串。当来自包Hmisc的函数latex()将此数据帧转换为LaTeX表时,美元符号不会转义。这使得LaTeX不可编译。格式化数据框中的值时,在Hmisc中有没有办法摆脱美元符号?在Hmisc :: latex中转义LaTeX控件符号

因为Hmisc本身为空单元格添加了美元符号,所以我无法运行搜索并在所有美元符号之后进行替换。

小例子:

> latex("test$test",file="") 
# returns: 
\begin{table}[!tbp] 
% [...] 
test$test\tabularnewline 
% [...] 
\end{table} 

# should return: 
\begin{table}[!tbp] 
% [...] 
test\$test\tabularnewline 
% [...] 
\end{table} 

回答

4

你可以看一下latexTranslate功能,从Hmisc

R> latexTranslate("3%") 
[1] "3\\%" 
+0

看起来有用,谢谢。但是,这可以与“乳胶”集成吗?或者事先只通过'sapply'? – roelandvanbeek 2013-02-08 14:26:37

+0

例如,您可以使用'latex(latexTranslate(“test $ test”))''。或者,也许我不明白你的问题? – juba 2013-02-08 14:28:20

+0

对不起,我打算在调用'latex(df)'时将它应用到数据框的单元格中。但我猜'latex(as.data.frame(sapply(df,latexTranslate)))'会做。 – roelandvanbeek 2013-02-10 00:26:32