Re: [R] Sweave, backslash in sub pattern? was: Backslash in sub pattern?

From: Stephan Kolassa <Stephan.Kolassa_at_gmx.de>
Date: Mon, 14 Jul 2008 20:39:43 +0200

Phil:

thanks a lot! However, my original problem[1] remains: in fact, I am trying to \Sexpr the result for Sweave, and for some reason Sweave regurgitates the \Sexpr command unchanged:

foo.Rnw contains:

\Sexpr{"DV~IV"}
\Sexpr{cat("DV~IV")}
\Sexpr{sub('~','$\\\\sim$',"DV~IV")}
\Sexpr{cat(sub('~','$\\\\sim$',"DV~IV"),"\n")}

After Sweave(foo) the file foo.tex then contains: \usepackage{Sweave}
DV~IV

\Sexpr{sub('~','$\\\\sim$',"DV~IV")}
\Sexpr{cat(sub('~','$\\\\sim$',"DV~IV"),"\n")}

(yes, with the blank line resulting from \Sexpr{cat("DV~IV")}), and LaTeX understandably complains that \Sexpr is not a valid command.

My goal: I would like to use some function bar() so that

str <- "DV~IV"
\Sexpr{bar(str)}

yields after Sweaving

DV$\sim$IV

in the tex file.

Any thoughts?
Stephan

[1] Sorry, I now see that my commented, minimal, self-contained, reproducible code was too minimal... I reduced the problem too far. My bad!

Phil Spector schrieb:

> Stephen -
>     Since the print function in R always displays two backslashes
> for a single one, you really need to use cat or nchar to make sure
> that things are working:
> 

>> sub('~','$\\\\sim$',str)
> [1] "ab$\\sim$cd"

>> cat(sub('~','$\\\\sim$',str),"\n")
> ab$\sim$cd
> 
> It's the result of cat that's actually output, not the string that
> R uses to display it.
> 
> 
>                                        - Phil Spector
>                      Statistical Computing Facility
>                      Department of Statistics
>                      UC Berkeley
>                      spector_at_stat.berkeley.edu
> 
> 
> On Mon, 14 Jul 2008, Stephan Kolassa wrote:
> 

>> Dear guRus,
>>

>> I am trying to replace "~" by "$\sim$" for TeX. However, I can't get
>> the backslash to work. I would like to turn "DV~IV" into "DV$\sim$IV".
>>

>> sub("~","$\sim$","DV~IV") => "DV$sim$IV"
>> sub("~","$\\sim$","DV~IV") => "DV$sim$IV"
>> sub("~","$\\\sim$","DV~IV") => "DV$sim$IV"
>> sub("~","$\\\\sim$","DV~IV") => "DV$\\sim$IV"
>>

>> Alternatives 1 and 3 also yield warnings about unknown escape
>> sequences (no surprise there). I have been unsuccessfully searching
>> the archives. sessionInfo below.
>>

>> Thank you all for your time!
>>

>> Best regards
>> Stephan
>>
>>
>>> sessionInfo()

>> R version 2.7.1 (2008-06-23)
>> i386-pc-mingw32
>>

>> locale:
>> LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252
>>
>>

>> attached base packages:
>> [1] stats graphics grDevices utils datasets tcltk
>> methods base
>>

>> other attached packages:
>> [1] svIDE_0.9-5
>>

>> loaded via a namespace (and not attached):
>> [1] svMisc_0.9-5
>>

>> ______________________________________________
>> R-help_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Mon 14 Jul 2008 - 18:43:23 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 14 Jul 2008 - 20:33:47 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive