从多个对象的函数列表中调用选定的函数
Calling chosen functions from the list of functions for several objects
我制作了一个函数,可以在多个对象上应用多个函数。我把它们放在列表中,因为这一切都应该包含在一个函数中
myFunc <- function(...) {
myApply <- function(...){
flist <- list(min, max, mean, sum)
lapply(flist, function(f) f(...))
}
# apply function to several objects
lapply(list(...), myApply)
}
obj1 <- c(1:9)
obj2 <- c(1:7)
myFunc(obj1, obj2)
我的问题是如何不调用列表中的所有函数,例如只调用其中的两个函数:
myFunc(obj1, obj2, list(min, max))
。另外也许有人知道如何使这个结构更整洁?
这种方法怎么样?
myFun <- function(...,fns) lapply(fns,\(i) lapply(list(...),i))
用法:
myFun(obj1,obj2, fns=list(min, max))
我制作了一个函数,可以在多个对象上应用多个函数。我把它们放在列表中,因为这一切都应该包含在一个函数中
myFunc <- function(...) {
myApply <- function(...){
flist <- list(min, max, mean, sum)
lapply(flist, function(f) f(...))
}
# apply function to several objects
lapply(list(...), myApply)
}
obj1 <- c(1:9)
obj2 <- c(1:7)
myFunc(obj1, obj2)
我的问题是如何不调用列表中的所有函数,例如只调用其中的两个函数:
myFunc(obj1, obj2, list(min, max))
。另外也许有人知道如何使这个结构更整洁?
这种方法怎么样?
myFun <- function(...,fns) lapply(fns,\(i) lapply(list(...),i))
用法:
myFun(obj1,obj2, fns=list(min, max))