[R] median of binned values
martin.tomko at geo.uzh.ch
Wed Dec 19 11:17:48 CET 2007
Thank you, Chuck,
would you mind commenting a bit on the code, it is not all clear... HOw
would you go to retrieve only the numeric value (not the category name)?
I am just starting with R, and the functionality of replicate and levels
is not quite clear. I tried the documentation, but am not any wiser.
What if I had a vector v <- vector(c(1,10,100,1000,10000)) and wanted to
perform it on that?
Thanks a lot
Chuck Cleland wrote:
> Martin Tomko wrote:
>> Dear list,
>> I have a vector (array, table row, whatever is best) of frequency values
>> for categories (or bins), and I need to find the median category.
>> Trivial to do by hand, but I was wondering if there is a means to do it
>> in R in an elegant way.
>> The obvious medioan(vector) returns the median frequency for the binns,
>> and that is not what I want. i.e,:
>> cat1 1
>> cat2 10
>> cat3 100
>> cat4 1000
>> cat5 10000
>> I want it to return cat5, instead of cat3.
> df <- data.frame(binname = as.factor(paste("cat", 1:5, sep="")),
> freq = c(1,10,100,1000,10000))
> binname freq
> 1 cat1 1
> 2 cat2 10
> 3 cat3 100
> 4 cat4 1000
> 5 cat5 10000
> with(df, levels(binname)[median(rep(as.numeric(binname), freq))])
>  "cat5"
>> Thanks a lot
>> R-help at r-project.org mailing list
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
Postdoctoral Research Assistant
Geographic Information Systems Division
Department of Geography
University of Zurich - Irchel
CH-8057 Zurich, Switzerland
email: martin.tomko at geo.uzh.ch
mob: +41-788 629 558
More information about the R-help