我希望R中的一個字符變量從中取值,可以說「a」,並添加「\%」,以稍後在LaTeX中創建% 。在R中粘貼「25 %」以在LaTeX中進一步處理
通常我會做這樣的事情:
a <- 5
paste(a,"\%")
但這種失敗。
Error: '\%' is an unrecognized escape in character string starting "\%"
任何想法?解決方法是定義另一個在LaTeX中給出%-sign的命令,但我更喜歡R內的解決方案。
我希望R中的一個字符變量從中取值,可以說「a」,並添加「\%」,以稍後在LaTeX中創建% 。在R中粘貼「25 %」以在LaTeX中進一步處理
通常我會做這樣的事情:
a <- 5
paste(a,"\%")
但這種失敗。
Error: '\%' is an unrecognized escape in character string starting "\%"
任何想法?解決方法是定義另一個在LaTeX中給出%-sign的命令,但我更喜歡R內的解決方案。
與許多其他語言一樣,字符串中的某些字符在轉義時具有不同的含義。其中一個例子是\n
,這意味着換行符而不是n
。當您編寫\%
時,R會嘗試將%
解釋爲特殊字符,但不會這樣做。你可能想試圖逃跑反斜槓,所以這只是一個反斜槓:
paste(a, "\\%")
您可以在轉義序列here讀取。
你也可以看看從Hmisc
包latexTranslate
功能,這將字符串特殊字符轉義,使他們LaTeX的兼容:
R> latexTranslate("You want to give me 100$ ? I agree 100% !")
[1] "You want to give me 100\\$ ? I agree 100\\% !"
不知道這個。謝謝! – 2013-02-12 14:57:38
@ AriB.Friedman不客氣! 'Hmisc'中有許多與LaTeX相關的功能,如果你還沒有,可以檢查一下。 – juba 2013-02-12 14:59:18
這給了「5 \\%」 – 2013-02-12 14:26:50
這是因爲R是將其打印爲一個字符串。嘗試將其寫入標準輸出:'write(「foo \\%」,stdout())',您將看到只有一個反斜槓。 – nemo 2013-02-12 14:28:53
@DanielK。是的,這就是什麼會給你在乳膠下的'5 \%'... – juba 2013-02-12 14:29:02