使用sapply函数将多个函数应用于数据框的列

时间:2016-01-07 12:52:16

标签: r sapply na.rm

我有一个简单的小数据集,我希望使用sapply函数将一组函数应用于数据框的每个列或变量。以下是R博客的代码

multi.sapply <- function(...) {
arglist <- match.call(expand.dots = FALSE)$...
var.names <- sapply(arglist, deparse)
has.name <- (names(arglist) != "")
var.names[has.name] <- names(arglist)[has.name]
arglist <- lapply(arglist, eval.parent, n = 2)
x <- arglist[[1]]
arglist[[1]] <- NULL
result <- sapply(arglist, function (FUN, x) sapply(x, FUN), x)
colnames(result) <- var.names[-1]
return(result)
}

由于我是R的新手用户,我想知道,当数据丢失或NA值时,如何修改上述代码?例如:

multi.sapply(mydata,mean, median, min, max)

工作正常,但会为缺少值的变量生成NA值

但是,以下代码给出了以下错误消息:

multi.sapply(mydata,mean, median, valid.n, min, max, na.rm = TRUE)

get中的错误(as.character(FUN),mode =&#34; function&#34;,envir = envir):   对象&#39;乐趣&#39;模式&#39;功能&#39;没找到

我非常感谢你的帮助!

0 个答案:

没有答案