Re: [Rd] Native implementation of rowMedians()

From: Henrik Bengtsson <>
Date: Mon, 14 May 2007 02:35:15 -0700

On 5/14/07, Martin Maechler <> wrote:
> Hi Henrik,
> >>>>> "HenrikB" == Henrik Bengtsson <>
> >>>>> on Sun, 13 May 2007 21:14:24 -0700 writes:
> HenrikB> Hi,
> HenrikB> I've got a version of rowMedians(x, na.rm=FALSE) for matrices that
> HenrikB> handles missing values implemented in C. It has been optimized for
> HenrikB> memory and speed. To avoid coercing integers to doubles, and hence
> HenrikB> allocate an additional 200% memory, there is one C function for
> HenrikB> integers and one for doubles.
> HenrikB> The rowMedians() implementation is currently sitting in my non-CRAN
> HenrikB> package R.native available by:
> HenrikB> source("")
> HenrikB> hbLite("R.native")
> HenrikB> library(R.native)
> HenrikB> example(rowMedians)
> HenrikB> The source code package is available at:
> HenrikB>
> HenrikB> Before I submit a package to CRAN consisting of pretty much just
> HenrikB> rowMedians(), would it make more sense for it to go into one of the
> HenrikB> core packages? If so, how should I proceed?
> As they say: You have to convince at least one member of R-core
> that ``it's worth it''. {Then he may have to bear the battle
> with dissenting core members ;- }
> I'm quite interested, but really you have to do the work of unbundling
> it from all the R.oo stuff before I have another longer look.

Great. The R code without R.oo (that's what it does), will be

rowMedians.matrix <- function(x, na.rm=FALSE, ...) {   .Call("rowMedians", x, as.logical(na.rm), PACKAGE="R.native"); }

rowMedians <- function(...) UseMethod("rowMedians", ...)

and the C code is in src/rowMedians.c, and the doc in man/rowMedians.matrix.R (all in



PS. I'll be off email until Friday (US time). DS.

> Martin
> mailing list Received on Mon 14 May 2007 - 09:55:05 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 14 May 2007 - 11:33:57 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.