[R] Generating valid R code using R

From: Henrik Bengtsson <hb_at_stat.berkeley.edu>
Date: Sun 16 Jul 2006 - 19:11:02 EST


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-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.html Received on Sun Jul 16 19:17:31 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 Mon 17 Jul 2006 - 00:14:13 EST.

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