On 5/19/05, Ted Harding <[EMAIL PROTECTED]> wrote: > Hi Gabor, > > On 05-May-05 Gabor Grothendieck wrote: > > On 5/5/05, Ted Harding <[EMAIL PROTECTED]> wrote: > >> [...] > >> However, while representing the raw data in such a form is > >> well supported by R, it seems to me that extracting data > >> in a way adapted to different analyses requires users to > >> create their own methods, using the list-access primitives . > >> > >> For example, to study the changes in the distribution of > >> lengths of specimens in relation to Position and Date > >> (which was one of the important issues in that investigation), > >> I don't think there are any "list processing" functions > >> available in R which, given the list-based structure described > >> above, would allow a simple query of the form > >> > >> means( Length , ~ Position:Date , data=Cruise ) > >> > >> It's quite feasible to write one's own; but I think Peter's > >> hope (expressed in excerpt above) looks like a first call > >> for thinking about general methods for this sort of thing. > >> > > > > The Green Book defines a recursive apply function, rapply, > > that provides a general means of traversing that > > sort of structure. > > [...] > > R. A. Becker, J. M. Chambers, and A .R. Wilks, The New S Language: > > A Programming Environment for Data Analysis and Statistics. > > Pacific Grove, CA: Wadsworth, 1988. Defines S Version 2, which > > forms the basis of the currently used S Versions 3 and 4, as well > > as R. (Sometimes called the "Blue Book.") > > Thanks for your suggestions and comments, Gabor. > > However, I now have the Green Book. There is some mention of > 'rapply' (pp. 174-5, 371 where the function is used in the > definition of a function, and 430 where it is stated that "The > S and C computations for rapply follow the style of the example > here", the example in question being C code for "a simplified > version of the S function lapply"). However, there is no code > anywhere for rapply itself! > > While the above possibly amount to enough hints for a good R > programmer to work out an implementation for rapply, this is at > present a level or two above my skills. > > The S-plus code for rapply can be found by listing "rapply". > There are two things wrong with doing this. One is that this > code involves at least two functions which do not seem to > be available in R -- new.frame() and the function which > occurs in .Call(2s_tree_apply", .... ). One would need to > infer what these do and implement them in R. > > The other is that I'm not at all keen on the idea of pinching > code from a proprietary product (S-plus). > > So I'm wondering if there is any R code that implements the > equivalent of 'rapply' or could readily be extended to do so.
Search r-help for treeapply. Also r-devel for a link to the codetools package which has some recursive code in it. ______________________________________________ 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