[Rd] how to add method to .Primitive function
vograno at evafunds.com
Sat May 7 22:18:07 CEST 2005
Thank you for the tip! I'll see if I can take it on to "[<-.mylist"
Why do you think it will be hard to replace data frames? Insightful
recently introduced a new class, largeDataFrame or something like this.
This new class looks and feels like a data.frame, but they made two key
simplifications: all columns are atomic vectors and there is no
rownames. Maintaining the latter is a big overhead in many data.frame
operations, consider for example rbind() which needs to ensure uniquness
of the row names.
I'd really like to hear why you think it would be a bad idea to have
such a class.
> -----Original Message-----
> From: Simon Urbanek [mailto:simon.urbanek at r-project.org]
> Sent: Saturday, May 07, 2005 12:34 PM
> To: Vadim Ogranovich
> Cc: Gabor Grothendieck; r-devel at stat.math.ethz.ch
> Subject: Re: [Rd] how to add method to .Primitive function
> On May 7, 2005, at 2:59 PM, Vadim Ogranovich wrote:
> > But then mylist is not a list:
> >> x <- new("mylist", x = list(x = 1, y = 2)) x[]
> > Error in x[] : subscript out of bounds
> > This is probably solvable by a sprinkle of setIs or setAs
> spells, but
> > each time I get into the S4 area I feel walking a mine-field.
> Well, then you can still use S3:
> x <- list(x=1:5, y=5:1)
> class(x) <- "mylist"
> dim.mylist <- function(l) c(length(l[]),length(l))
>  5 2
>  1 2 3 4 5
>  TRUE
> I'm not saying it's a good idea, because you can still break other
> things if you're not careful, but it's possible... If all you
> want is
> writing convenience functions for lists, that's fine, but I don't
> think you can replace data frames with such objects easily ...
More information about the R-devel