[R] How to make attributes persist after indexing?
Gabor Grothendieck
ggrothendieck at gmail.com
Wed May 24 17:31:08 CEST 2006
You could create your own child class with its own [ method.
"[.myfactor" <- function(x, ...) {
attr <- attributes(x)
x <- NextMethod("[")
attributes(x) <- attr
x
}
gx <- structure(fx, class = c("myfactor", class(fx)))
attributes(gx[1])
On 5/24/06, Heinz Tuechler <tuechler at gmx.at> wrote:
> Dear All!
>
> For descriptive purposes I would like to add attributes to objects. These
> attributes should be kept, even if by indexing only part of the object is
> used.
> I noted that some attributes like levels and class of a factor exist also
> after indexing, while others, like comment or label vanish.
> Is there a way to make an arbitrary attribute to be kept after indexing?
> This would be especially useful when indexing a data.frame.
>
> ## example for loss of attributes
> fx <- factor(1:5, ordered=TRUE)
> attr(fx, 'comment') <- 'Comment for fx'
> attr(fx, 'label') <- 'Label for fx'
> attr(fx, 'testattribute') <- 'just for fun'
> attributes(fx) # all attributes are shown
> attributes(fx[]) # all attributes are shown
> attributes(fx[1:5]) # only levels and class are shown
> attributes(fx[1]) # only levels and class are shown
>
> Thanks,
>
> Heinz Tüchler
>
> ______________________________________________
> R-help at 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
>
More information about the R-help
mailing list