Interesting discussion. I'm not wholly convinced by Martin's and Emil's arguments. The behaviour seems to violate an obvious expectation (fun is called once per row) to satisfy a subtle one (result has a guaranteed dimension and type).
In any case, here's a suggested chunk of rd to go at the end of the "Value": If \code{dim(X)[MARGIN]} is zero, then \code{FUN} is called once, with an argument of the appropriate dimensions. The argument's type is the same as \code{typeof(m)}, and the argument values are those returned by \code{vector(typeof(m))}. For example, if m is numeric, the argument will be a vector (or matrix or array) of zeroes. The type and length of the value returned by \code{FUN} is used to determine the type of the result. And at the end of "Details": \code{FUN} is always called at least once, see below. David On Mon, 30 Jul 2018 at 15:05, Gabor Grothendieck <ggrothendi...@gmail.com> wrote: > Try pmap and related functions in purrr: > > pmap(as.data.frame(m), ~ { cat("Called...\n"); print(c(...)) }) > ## list() > > On Mon, Jul 30, 2018 at 12:33 AM, David Hugh-Jones > <davidhughjo...@gmail.com> wrote: > > Forgive me if this has been asked many times before, but I couldn't find > > anything on the mailing lists. > > > > I'd expect apply(m, 1, foo) not to call `foo` if m is a matrix with zero > > rows. > > In fact: > > > > m <- matrix(NA, 0, 5) > > apply(m, 1, function (x) {cat("Called...\n"); print(x)}) > > ## Called... > > ## [1] FALSE FALSE FALSE FALSE FALSE > > > > Similarly for apply(m, 2,...) if m has no columns. > > Is there a reason for this? Could it be documented? > > > > David > > -- > > Sent from Gmail Mobile > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > -- > Statistics & Software Consulting > GKX Group, GKX Associates Inc. > tel: 1-877-GKX-GROUP > email: ggrothendieck at gmail.com > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel