[R] How to retrieve a vector of a data.frame's variable attributes?
dwinsemius at comcast.net
Sun Apr 17 23:59:39 CEST 2011
On Apr 17, 2011, at 4:21 PM, Bacou, Melanie wrote:
> I have a data.frame with 100 variables and I have assigned a "label",
> "units" and "category" attribute to each variable. I would like to
> the variables in the data.frame by the "category" attributes but
> can't find
> a way.
Something like lapply(hh, attr, which="category") might return
something potentially useful. You obviously have a test case, but have
failed to offer it up. Possibly using order() around that might get
all the like category variables together.
> For example, the first variable is:
>  "coastal" "forest" "savannah"
>  "labelled" "factor"
>  ecological zone
> 93 Levels: 10 quantiles of welfare ... year of the interview
>  class
> 24 Levels: '05 PPP USD / year cedis / year cedis /year class
> geo-1 ... years
>  geography
> 7 Levels: agriculture demography design expenditure geography ...
> I have tried:
> hh <- hh[, order(attr(hh, "category")) ]
Did you look at what order(attr(hh, "category")) returns. Since you
assigned the attribute to individual columns (which are arranged as a
list, you cannot expect the whole object to return anything useable
when queried with attr().
> hh <- hh[, order(attr(hh[, 1:100], "category"))]
(It would be the same since hh == hh[,1:100] )
> hh <- hh[, order(attr(dimnames(hh), "category"))]
dimnames would _not_ have any attributes. And attr can only work on
one object at a a time anyway,
> but all the right-hand side assignments above return NULL.
> Thanks very much for your help with this simple task!
> Melanie Bacou
David Winsemius, MD
West Hartford, CT
More information about the R-help