在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)
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...