Re: [R] Help with R

From: Ted Harding <Ted.Harding_at_nessie.mcc.ac.uk>
Date: Fri 20 May 2005 - 07:52:05 EST


Hi Gabor,

On 05-May-05 Gabor Grothendieck wrote:

> On 5/5/05, Ted Harding <Ted.Harding@nessie.mcc.ac.uk> 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.

With thanks, and best wishes,
Ted.



E-Mail: (Ted Harding) <Ted.Harding@nessie.mcc.ac.uk> Fax-to-email: +44 (0)870 094 0861
Date: 19-May-05                                       Time: 22:51:48
------------------------------ XFMail ------------------------------

______________________________________________
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 Fri May 20 08:05:18 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:56 EST