Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
415 views
in Technique[技术] by (71.8m points)

knitr - print backslash in R strings

GNU R 3.02

> bib <- "cite"
Error: 'c' is an unrecognized escape in character string starting ""c"
> bib <- "\cite"
> print(bib)
[1] "\cite"
> sprintf(bib)
[1] "\cite"
> 

how can I print out the string variable bib with just one ""?

(I've tried everything conceivable, and discover that R treats the "" as one character.)

I see that in many cases this is not a problem, since this is usually handled internally by R, say, if the string were to be used as text for a plot.

But I need to send it to LaTeX. So I really have to remove it.

I see cat does the trick. If cat could only be made to send its result to a string.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You should use cat.

bib <- "\cite"
cat(bib)
# cite

You can remove the ## and [1] by setting a few options in knitr. Here is an example chunk:

<<newChunk,echo=FALSE,comment=NA,background=NA>>=
bib <- "\cite"
cat(bib)
@

which gets you cite. Note as well that you can set these options globally.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...