如何解决在R中编写一个循环,获得与combnx,m,sum相同的结果
我具有以下功能:
Proposed <- function(N_b,Lanes,m,A,x.sqr,e_1,e_2,e_3,e_4,e_5) {
e <- data.frame(e_1,e_5)
CSi <- m * ((Lanes/N_b) + (max(A * combn(e,sum)) / x.sqr))
return(CSi)
}
我想编写一个类似的函数,但是不要将函数combn
与sum函数一起使用,而是编写一个循环以遍历e_1,e_5
的{{1}}变量列,然后选择Lanes
。这是因为我后来尝试通过max A * combn(...)
来填充它,并且它不喜欢我定义nls
的方式。
我需要类似于问题Error when running nlsLM but works for nls的功能combn
。
下面是带有变量的示例数据框。
Proposed
解决方法
尽管我仍在寻找循环,但我可以通过更改函数中combn
的定义方式来解决问题
Proposed2 <- function(N_b,Lanes,m,A,x.sqr,e_1,e_2,e_3,e_4,e_5,S,a,b) {
e <- data.frame(e_1,e_5)
CSi <- m * ((Lanes/N_b) + (max(A * combn(seq_along(e),3,FUN = function(i) rowSums(e[i]))) / x.sqr) * (b*S^a))
return(CSi)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。