[R] How to make attributes persist after indexing?

Heinz Tuechler tuechler at gmx.at
Thu May 25 01:43:06 CEST 2006


Thank you for your answer, Gabor. I will see, if I understood it.

Heinz

At 11:31 24.05.2006 -0400, Gabor Grothendieck wrote:
>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