0

我有一个简单的小型数据集,我希望使用 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)

获取错误(as.character(FUN),模式=“功能”,环境=环境):找不到模式“功能”的对象“乐趣”

非常感谢您的帮助!

4

0 回答 0