[Rd] Fwd: Generating valid R code using R

From: Henrik Bengtsson <hb_at_stat.berkeley.edu>
Date: Sun 16 Jul 2006 - 11:18:43 GMT

Sorry, this question was supposed to go to r-devel; move it there now. /HB

Hi,

I'm trying to generate valid R code using R. Parts of the task is to read a sequence of characters from file and escape them such that they can be put in quotation marks to form a valid R code string. Example:

Let the input file be (four rows containing ASCII 0-255 characters): abcdef<tab>ghijk\nlmno
second row\t\a\\

fourth and so on...
<EOF>

Now, find escapeString() such that the following piece of code generates a second file called 'file2.txt' which is identical to 'file1.txt':

inStr <- readChar("file1.txt", nchars=999)
esStr <- escapeString(inStr)
rCode <- sprintf('cat(file="file2.txt", "%s")', esStr)
cat(file="foo.R", rCode)
source("foo.R")

For instance, quotation marks has to be escaped in order for 'rCode' to be valid, same with newlines etc. What's the best way to do this? Currently I use an ad hoc sequence of gsub() substitutions to do this, but is there a better way to create the 'rCode' string?

Thanks

Henrik



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sun Jul 16 21:21:27 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sun 16 Jul 2006 - 14:23:53 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.