[R] function for rowMedian?

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Jan 20 18:49:01 CET 2006


Interchange 1 and 2 (see ?apply: Andy was answering the subject line, not 
that in the body).

However, Max asked also for column medians of a data frame, for which use 
sapply(DF, median)

I didn't understand the question, and it seems I was not alone :)

On Fri, 20 Jan 2006, Philippe Grosjean wrote:

> Note that there is a confusion here: 1st dimension is row, 2nd dimension
> is column for matrix & data.frame.

And the dim arg to apply is the one you want the answer to have.

A <- matrix(runif(6), 2, 3)
apply(A, 1, median) # row medians
apply(A, 2, median) # col medians


> So, if the question is about "rowMedian", you have:
>
> > rowMedian <- function(x, na.rm = FALSE)
> >     apply(x, 2, median, na.rm = na.rm)
>
> Now, you ask for the "median for specified columns", which should be as
> Andy proposes you, or, if you really want a colMedian function:
>
> > colMedian <- function(x, na.rm = FALSE)
> >     apply(x, 1, median, na.rm = na.rm)
>
> Best,
>
> Philippe Grosjean
>
> Liaw, Andy wrote:
>> apply(x, 1, median) should do it.  If not, you need to explain why.
>>
>> Andy
>>
>> -----Original Message-----
>> From: Max Kauer
>> Sent: Friday, January 20, 2006 10:24 AM
>> To: r-help at stat.math.ethz.ch
>> Subject: [R] function for rowMedian?
>>
>>
>> Hi
>> is anybody aware of a function to calculate a the median for specified
>> columns in a dataframe or matrix - so analogous to rowMeans?
>> Thanks
>> Max

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list