如何在R中将nlsLM与mapply合并?

时间:2015-03-09 14:28:40

标签: r nls

我正在尝试使用我的模型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>

1 个答案:

答案 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)