我正在尝试使用我的模型y~exp((a*x1+b*x2+c)^d)+f
但我收到错误,因为我不确定如何在Package中合并mapply with nlsLM
:minpack.lm
ERROR:
Error in fn(par, ...) :
unused arguments (x1 = c(0.203114295490632, -0.16516023916803,
0.0870323364177826,
使用不同数据结构的更多解释:
所以第一次有趣的应该是:y[1,1,],x1[1,1,],x2[1,1,]
:使用这些值拟合模型并给出结果。然后转到下一个调用并执行相同的操作:y[1,2,],x1[1,2,],x2[1,2,]
...等等p>
答案 0 :(得分:1)
我还没试过,但看起来nlsLM需要一个data.frame作为其数据参数(这与模型拟合更加一致),试试:
fun <- function(x1, x2, y) {
out <- nlsLM(y~exp((a*x1+b*x2+c)^d)+f, data = data.frame(x1=x1,x2=x2,y=y),
start = list(a = 3, b = 0.1, c=0.02,d = 1,f=0.02))
}
out=mapply(fun, x1=x1, x2=x2, y=y)