在R中粘贴“25 \%”以在LaTeX中进一步处理

时间:2013-02-12 14:22:25

标签: r sweave

我希望R中的字符变量从中取出值,让我们说“a”,然后添加“\%”,以便稍后在LaTeX中创建%-sign。

通常我会做类似的事情:

a <- 5
paste(a,"\%")

但这失败了。

Error: '\%' is an unrecognized escape in character string starting "\%"

有什么想法吗?解决方法是在LaTeX中定义另一个给出%-sign的命令,但我更喜欢R中的解决方案。

2 个答案:

答案 0 :(得分:5)

与许多其他语言一样,字符串中的某些字符在转义时具有不同的含义。一个例子是\n,这意味着换行而不是n。当您编写\%时,R会尝试将%解释为特殊字符并且无法执行此操作。你可能想尝试逃避反斜杠,所以它只是一个反斜杠:

paste(a, "\\%")

您可以阅读转义序列here

答案 1 :(得分:5)

您还可以查看latexTranslate包中的Hmisc函数,该函数将从字符串中转义特殊字符以使它们与LaTeX兼容:

R> latexTranslate("You want to give me 100$ ? I agree 100% !")
[1] "You want to give me 100\\$ ? I agree 100\\% !"