From: Spencer Graves <spencer.graves_at_pdf.com>

Date: Thu 30 Jun 2005 - 08:06:14 EST

*>
*

*>
*

> This can only work for escapes which are preserved. The parser maps

*> \n to a character (LF) and the deparser maps it back to \n.
*

*> This happens to be true of \a \b \f \n \r \t \v \\ but no others.
*

*>
*

*> For example, \s is mapped to s, and there is no difference between \s and
*

*> s in the parsed input.
*

*>
*

*>
*

*>
*

*>
*

*>
*

> [1] "s"

*>
*

*> Spencer Graves keeps on insisting there is a better way, but all the
*

*> solutions are to avoid sending the string to the parser, and hence
*

*> avoiding having the string directly in an R script. This is common in
*

*> shell scripts, which use 'here' documents to avoid 'quoting hell'.
*

*>
*

*> We can do that in R too. Here are two variants I have not seen in the
*

*> thread
*

*>
*

*> test1.R:
*

*> scan("", "", allowEscapes=FALSE, n=1, quiet=TRUE)
*

*> D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt
*

*> catIx, "\n", sep="")
*

*>
*

*> R --slave --vanilla < test1.R
*

*> D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt
*

*>
*

*> (This one does not allow quoted strings.)
*

*>
*

*> test2.R:
*

*> x <- readLines(stdin(), n=1)
*

*> "D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt"
*

*> x <- gsub('^"(.*)"$', "\\1", x)
*

*> cat(x, "\n")
*

*>
*

*> R --slave --vanilla < test2.R
*

*> D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt
*

*>
*

*> (This one allows surrounding quotes or not.)
*

*>
*

Date: Thu 30 Jun 2005 - 08:06:14 EST

Both "test1.R" and "test2.R" worked for me just now, as did the following minor modification:

(x <- readLines(stdin(), n=1))

D:\spencerg\dataPOWER\stats\Tukey\Boxplot_missing_Tukey2.txt

Prof Brian Ripley wrote:

> On Wed, 29 Jun 2005, David Duffy wrote:

*>
**>
*

>>I couldn't resist adding a more literal answer

> This can only work for escapes which are preserved. The parser maps

>>unback <- function(x) { >> chars <- unlist(strsplit(deparse(x),"")) >> chars <- chars[-c(1,length(chars))] >> paste(gsub("\\\\","/",chars),collapse="") >>} >> >>unback("\n")

>>unback("\s")

> [1] "s"

-- Spencer Graves, PhD Senior Development Engineer PDF Solutions, Inc. 333 West San Carlos Street Suite 700 San Jose, CA 95110, USA spencer.graves@pdf.com www.pdf.com <http://www.pdf.com> Tel: 408-938-4420 Fax: 408-280-7915 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.htmlReceived on Thu Jun 30 08:12:50 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:33:07 EST
*