On Jan 29, 2010, at 1:28 PM, Paul wrote: > I'm currently using r scripts in sweave to grab some data via ODBC, process > it then generate some tables. I'd like to be able to give someone the files > and let them reproduce what I've done. Is there some way to store the data > that is gathered by ODBC so that the second person can recreate the work > without the database (apart from just writing it to a file or into the > document) > > Thanks > > Paul.
There are likely to be several approaches, as there always is with R, but here is mine. I have a function that I wrote to (via RODBC) obtain the entire content of a series of Oracle views from our server. Basically a loop of "select * from VIEWNAME" queries, where the changing parts of the query are paste()d together. The function takes a viewname prefix to define a common set of views, gets the names of the views that match the prefix pattern from a table that stores all viewnames and then creates a series of data frames in the R global environment via assign(), with one data frame per Oracle view. The function is called from within a code chunk in a .Rnw file, which by default is set to "<<results=hide,eval=FALSE>>=". I do this so that I can run the code chunk once manually to secure the data. Note that I use ESS for all of this, so I just highlight that code and send it to the R buffer (session). I then save the data frames (Oracle views) to a .RData file using save() to preserve the "clean" source data. I can then run the rest of the .Rnw file as much as I want, changing code as I need to, but always using the same set of data, since the code chunk containing the function that gets the Oracle data is not evaluated on subsequent runs. I also use subversion to version control changes made to the .Rnw file as required and to store the original data set. Since I will perform updated retrievals over time, I have the flexibility of running the .Rnw file (or a revised version) on old versions of the data retrieval as I need. So, using this approach, you can pass the .RData file off to your colleague, along with the .Rnw file and they should be good to go. HTH, Marc Schwartz ______________________________________________ R-help@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.