In Splus the code test.lm <- lm(y ~ x, data = test.data) plot(test.lm) generates a graphics window that contains multiple graph sheets that one may choose from via the "page" tabs at the bottom of the window. Is there a way to do this sort of thing in R? As another example, I have some repeated measures data with continuous outcomes and have been working with the nlme library in Splus. When I use the commands library(nlme) data.grouped <- groupedData(y ~ time | x, data = test.data) plot(data.grouped, layout = c(5,3,11)) generates 11 separate graph sheets that can be toggled between. In R, the same commands generate a sequence of graph sheets, but only the last one is "saved" in the graphics window. Is there a way around this? Much thanks, David Paul, Ph.D. Battelle Memorial Institute 614.424.3176
It seems all R-to-CGI libraries (all two of them, which I'm aware) run only on Unix/Linux (but I use Windows) and create temporary files to pass R commands. So, I wrote a short Apache-based Perl CGI script to execute R commands on browser without needing temporary files--just for fun, babyish, nothing robust, slow but works. (The rationale? I prefer distributing results via the intranet on browser, rather than sending huge spreadsheets around, for which the sysadmin bitterly complained causing the email server to grow unduly large.) Here it is, in case anyone interested (more like a "sample answer" than a product, for sure): #-----------------------------File Name: simpleR.pl--------------------------- #! /usr/local/bin/perl -w use Apache::Request () ; use strict ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # You only need to modify this: my $Rpath = "C:\\R\\rw\\bin\\" ; # path to rterm.exe # The rest will hopefully run itself. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # to execute R cmd: R($Rpath, $R_cmd) sub R { my $Rpath = shift ; my $Rcmd = $Rpath . "rterm --vanilla --quiet --slave" ; my $Rscript = shift ; $Rscript =~ s/(\r|;\r)/ ;/gm ; $Rscript =~ s/<-/=/gm ; # \r or <- break "echo" return `echo $Rscript | $Rcmd` ; } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - my $r = shift ; # Apache stuff my $q = Apache::Request->new($r) ; # Apache Query obj my $command = $q->param('command') ; my $result = $command ? R($Rpath, $command) : "You didn't input any command." ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - print "Content-type: text/html\n\n"; print <<"EOF"; <html><body> <form method="get" action="./simpleR.pl"> Please enter your R command:<br> <textarea rows="4" name="command" cols="60">$command</textarea><br> <input type="submit" value="Submit"> </form><br> <textarea rows="10" name="result" cols="80">$result</textarea> </body></html> EOF exit;
On Wed, 18 Jun 2003, Paul, David A wrote:> In Splus the code > > test.lm <- lm(y ~ x, data = test.data) > plot(test.lm) > > generates a graphics window that contains > multiple graph sheets that one may choose > from via the "page" tabs at the bottom of > the window. > > Is there a way to do this sort of thing in > R?Well, you can only do that in S-PLUS *for Windows* (it is one of several options for a graphsheet() device). In R for Windows there is a windows() device where you can turn on history recording and move between plots with the page keys. (This is in the README!) One again, R is not S-PLUS, and if you want features of S-PLUS, why not use it? Especially if they are user-level convenience features. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Hello all, I am looking for books to help me gain a firmer grasp on the S/R programming language , programing / data structures etc. it seems that for this purpose two books are typically recommended: Programming with Data: A Guide to the S Language, John M. Chambers and S Programming by Venables & Ripley. - The Chambers book is published 1998. is it a bit dated at this point. - is the Venables and Ripley's book a good source on the design and manipulation of data structures in R (it seems mostly focused on R extensions). - are there any other books, possibly published more recently, that you could recommend. I also have a couple of particular programming questions: -coming from a C++/java programming background I found that I often end up in R with lists of objects (each constructed, in turn, as a list, say list(x=x,y=y,z=z)). often, these individual objects have recursive 'attributes' so a matrix representation of this set of objects is not an option. although a data.frame might be. I typically need to access certain attributes of these objects for plotting or analysis etc. however, I have not been able to come up with a clean way to do this? e.g. object.list = list(o1=list(x=1,y=2,z=3), o2=list(x=11,y=22,z=33)) what I would like to do is say get a vector of x values for the objects in object.list, but something like object.list[[1:length(object.list)]]$x, for example, returns NULL. is there a better way to set up such an object list data structure that will allow me to do this? - what is the correct way to -remove- a component from a list. this seems to do the trick: list[[1]] = NULL, however, you'd think this should simply attach a NULL object at the first component position? many thanks for any help -- Murad Nayal M.D. Ph.D. Department of Biochemistry and Molecular Biophysics College of Physicians and Surgeons of Columbia University 630 West 168th Street. New York, NY 10032 Tel: 212-305-6884 Fax: 212-305-6926