Here is one way: > sorted.table <- function(x, name = if (is.list(x))names(x) else > deparse(substitute(x))[1]) { + tab <- table(x) + names(dimnames(tab)) <- name + tab <- tab[tab > 0] + sort(tab, decreasing=TRUE) + } > digits <- factor(trunc(100*log2(1:20)%%.1), levels=0:9) > sorted.table(digits) digits 0 8 2 6 4 5 9 4 3 2 1 1 > sorted.table(data.frame(DigitsColumn=digits)) DigitsColumn 0 8 2 6 4 5 9 4 3 2 1 1 > sorted.table(digits, name="My Digits") My Digits 0 8 2 6 4 5 9 4 3 2 1 1
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf > Of Sam Steingold > Sent: Wednesday, September 19, 2012 9:13 AM > To: r-help@r-project.org > Subject: Re: [R] drop zero slots from table? > > Function > --8<---------------cut here---------------start------------->8--- > sorted.table <- function (vec) { > tab <- table(vec) > tab <- tab[tab > 0] > sort(tab, decreasing=TRUE) > } > --8<---------------cut here---------------end--------------->8--- > does what I want but it prints "vec" instead of the name of its > argument: > --8<---------------cut here---------------start------------->8--- > > sorted.table(foo$bar) > vec > A B > 10 3 > --8<---------------cut here---------------end--------------->8--- > how do I pass all arguments of sorted.table() on to table() as is? > thanks! > > > * Sam Steingold <f...@tah.bet> [2012-09-19 11:51:08 -0400]: > > > > I find myself doing > > tab <- table(...) > > tab <- tab[tab > 0] > > tab <- sort(tab,decreasing=TRUE) > > all the time. > > I am wondering if the "drop 0" (and maybe even sort?) can be effected by > > some magic argument to table() which I fail to discover in the docs? > > Obviously, I could use droplevels() to avoid 0 counts in the first > > place, but I do not want to drop the levels in the data. > > -- > Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X > 11.0.11103000 > http://www.childpsy.net/ http://memri.org http://thereligionofpeace.com > http://www.PetitionOnline.com/tap12009/ http://dhimmi.com > Beauty is only a light switch away. > > ______________________________________________ > 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. ______________________________________________ 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.