[Rd] Structure of the object: list() and attr()
Gabor Grothendieck
ggrothendieck at gmail.com
Tue Aug 1 16:15:53 CEST 2006
The key issue is inheritance. If you use a data frame with attributes then
you can inherit data frame methods without further definition,
e.g.
x <- structure(data.frame(a = 1:10), my.attr = 33,
class = c("myclass", "data.frame"))
dim(x) # inherit dim method
but if you do it this way then you need to define your own methods
for each one you want:
x <- structure(list(.Data = data.frame(a = 1:10), my.attr = 33),
class = "myclass")
dim.myclass <- function(x) dim(x$.Data)
dim(x)
for every method you want.
On 8/1/06, Gorjanc Gregor <Gregor.Gorjanc at bfro.uni-lj.si> wrote:
> Hello!
>
> I am writing code where I define objects with new class. When I started,
> it was a simple data.frame with attributes, but it is getting more evolved
> and I would like to hear any pros and cons to go for list structure,
> where one "slot" would be a data.frame, while other "slots" would take over
> role of attributes.
>
> Lep pozdrav / With regards,
> Gregor Gorjanc
>
> ----------------------------------------------------------------------
> University of Ljubljana PhD student
> Biotechnical Faculty URI: http://www.bfro.uni-lj.si/MR/ggorjan
> Zootechnical Department mail: gregor.gorjanc <at> bfro.uni-lj.si
> Groblje 3 tel: +386 (0)1 72 17 861
> SI-1230 Domzale fax: +386 (0)1 72 17 888
> Slovenia, Europe
> ----------------------------------------------------------------------
> "One must learn by doing the thing; for though you think you know it,
> you have no certainty until you try." Sophocles ~ 450 B.C.
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list