[R] function for rowMedian?

Philippe Grosjean phgrosjean at sciviews.org
Sun Jan 22 12:00:17 CET 2006


Prof Brian Ripley wrote:
> 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)

By the way, what is the preferred code for column-wise calculation on 
*all numeric* data in a data frame?
 > sapply(DF, median)
which considers the list and then simplifies the results down to a 
vector or matrix,... or
 > apply(DF, 2, median)
which first convert into a matrix and then do the calculation on it?
Best,

Philippe Grosjean


> 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
> 
>




More information about the R-help mailing list