我希望R中的字符变量从中取出值,让我们说“a”,然后添加“\%”,以便稍后在LaTeX中创建%-sign。
通常我会做类似的事情:
a <- 5
paste(a,"\%")
但这失败了。
Error: '\%' is an unrecognized escape in character string starting "\%"
有什么想法吗?解决方法是在LaTeX中定义另一个给出%-sign的命令,但我更喜欢R中的解决方案。
答案 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\\% !"