【发布时间】:2023-01-22 07:52:27
【问题描述】:
我有一个问题:我需要在另一个函数中一遍又一遍地运行相同的函数,但参数不同。我如何直接实现它,因为我目前正在执行的手动方法会产生非常多的代码并使我的代码不可读?
伪代码:
internal_func <- function(x, y, z)
external_func <- function(list_of_functions) {
# do some stuff
for(i in 1:length(list_of_functions)){
# evaluate the internal function and save the results in a matrix
}
# do some more stuff
return(stuff)
}
# run 1
# generate list of internal_func with varying x and pass it to external_func
# run 2
# generate list of internal_func with varying y and pass it to external_func
# run 3
# generate list of internal_func with varying y and pass it to external_func
先感谢您!
【问题讨论】:
-
(1) 强烈推荐
seq_along(list_of_functions)而不是1:length(.),在list_of_functions为空的情况下更安全/防御。 (2) 假设像list_of_functions <- list(min, mean, max)这样的东西安全吗? (3) 我不知道这一切是如何联系在一起的,也许您可以为此添加一些内容并使其可重现?