David, Thanks very much. That was the right method.
--Mel. -----Original Message----- From: David Winsemius [mailto:dwinsem...@comcast.net] Sent: Sunday, April 17, 2011 6:00 PM To: Bacou, Melanie Cc: r-help@r-project.org Subject: Re: [R] How to retrieve a vector of a data.frame's variable attributes? On Apr 17, 2011, at 4:21 PM, Bacou, Melanie wrote: > Hi, > > 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 > reorder > 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: > >> attributes(hh$aez) > $levels > [1] "coastal" "forest" "savannah" > > $class > [1] "labelled" "factor" > > $label > [1] ecological zone > 93 Levels: 10 quantiles of welfare ... year of the interview > > $units > [1] class > 24 Levels: '05 PPP USD / year cedis / year cedis /year class > geo-1 ... years > > $category > [1] geography > 7 Levels: agriculture demography design expenditure geography ... > welfare > > 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! > > --Mel. > > > > _______________________ > Melanie Bacou David Winsemius, MD West Hartford, CT ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.