如何解决R中多个固定参数的应用函数
我创建了一个函数,比如 myfunc
,它有 4 个参数,比如 para1
、para2
、para3
和 para4
。在我的问题中,para1
是一个矩阵,para2
是一个实数,para3
是一个向量,而 para4
是一个实数。 该函数返回一个列表。我以下列方式定义了该函数:
myfunc <- function(para1,para2,para3 = NULL,para4 = 100){
Body ## Body of the function
return(list("A" = a,"B" = b,"C" = c)
}
现在,让lambda <- c(2,3,6,10)
。我正在尝试编写代码,以便函数输出以下内容:
myfunc(my_data,2,my_vec,100)
myfunc(my_data,10,100)
这可以通过 for 循环轻松完成,但我在想我们是否可以为此使用 apply
或 sapply
或 tapply
函数。 因此,保持其他参数不变,我希望输出具有不同值(即 lambda
中的值)的 para2
。 这可以做到吗?
我发现了一个非常相似的问题 here,并看到了一些答案。我遵循了这些答案,但出现错误。我写了以下代码:
myfunc <- function(para1,para4 = 100) { Body }
para1 <- my_data
para3 <- my_vec
para4 <- 100
lambda <- c(2,10)
sapply(lambda,myfunc,para1=para1,para3,para4=para4)
我能得到一些帮助吗?提前致谢。
解决方法
我们可以使用 lapply
循环遍历 lambda
lapply(lambda,function(x) myfunc(my_data,x,my_vec,100))
如果我们不使用 lambda 函数
lapply(lamdba,myfunc,para1 = my_data,para3 = my_ec,para4 = 100)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。