[R] data encapsulation with classes
Martin Maechler
maechler at stat.math.ethz.ch
Mon Apr 9 11:46:37 CEST 2007
>>>>> "BDR" == Prof Brian Ripley <ripley at stats.ox.ac.uk>
>>>>> on Mon, 9 Apr 2007 08:24:32 +0100 (BST) writes:
BDR> On Sun, 8 Apr 2007, hadley wickham wrote:
>> On 4/8/07, Roger Bivand <Roger.Bivand at nhh.no> wrote:
>>> On Sun, 8 Apr 2007, Peter Williams wrote:
>>>> Hi All,
>>>>
>>>> I'm new to R from a C and Octave/Matlab background. I
>>>> am trying to construct some classes in R to which I
>>>> want to attach pieces of data. First, is attr(obj,
>>>> 'member name') <- data the accepted way of doing this?
>>> No, it isn't. You seem to be trying to deduce new-style
>>> classes from a representation used before R 2.4,
BDR> (actually, still used)
>>> but in any case it would not be sensible. Please consult
>>> John M. Chambers. Programming with Data. Springer, New
>>> York, 1998, and/or William N. Venables and Brian
>>> D. Ripley. S Programming. Springer, New York, 2000, or
>>> for a shorter online resource:
>>>
>>> http://www.stat.auckland.ac.nz/S-Workshop/Gentleman/Methods.pdf
>> Unfortunately, all of those references are at least 4
>> years out of date when it comes to S4 methods. Is there
>> any comprehensive reference of the current implementation
>> of the S4 OO system apart from the source code?
?Methods {i.e. help(Methods)} is not about the *implementation*
but still explains quite a bit about the method dispatch part of
S4. It has had a URL to for the "How S4 Methods Work" technical
report by John Chambers; I've now also added a link to that from
http://developer.R-project.org/ (will only be active in ~ a day).
Martin
BDR> Not that I know of, and it is a moving target. (E.g. I
BDR> asked recently about some anomalies in the S4 bit
BDR> introduced for 2.4.0 and what the intended semantics
BDR> are.) I've said before that I believe we can only help
BDR> solve some of the efficiency issues with S4 if we have
BDR> a technical manual.
BDR> It is unfair to pick out S4 here, but the 'R Internals'
BDR> manual is an attempt to document important
BDR> implementation details (mainly by studying the code),
BDR> and that has only got most of the way through
BDR> src/main/*.c.
BDR> -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of
BDR> Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
BDR> University of Oxford, Tel: +44 1865 272861 (self) 1
BDR> South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG,
BDR> UK Fax: +44 1865 272595
More information about the R-help
mailing list