[R] help on R programming.

Roger D. Peng rpeng at stat.ucla.edu
Tue Jun 24 06:30:23 CEST 2003


Murad Nayal wrote:

> 
> 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

Although it was published in 1998, I hardly find it outdated.  Still a 
good reference, but as far as I know, not everything is implemented in R.

> 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.

Modern Applied Statistics in S (4th ed.) by Venables & Ripley is not so 
much about the language itself but is always a good reference.

> 
> 
> 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.

You can use sapply:

sapply(object.list, "[[", "x")

> 
> 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
> 

-roger




More information about the R-help mailing list