I noticed that, unlike similar functions, 'by' does not use match.fun, e.g. > by(iris, iris$Species, "summary") Error in FUN(X[[1]], ...) : couldn't find function "FUN" The 'by' code should have an initial line of: FUN <- match.fun(FUN)