R 在分组数据上使用nls时出现的问题

R 在分组数据上使用nls时出现的问题,r,data-fitting,nls,R,Data Fitting,Nls,我试图将一个非线性模型拟合到有两个不同治疗组的数据集 values <- runif(20,1000,10000) timefornls <- rep(c(0:9), 2) treatment <- rep(c("group1", "group2"), each=10, len=20) datafornls <- data.frame(timefornls,treatment,values) 我无法理解我做错了什么? 如果你能解决这个问题,请提前感谢 使用nlme包中的

我试图将一个非线性模型拟合到有两个不同治疗组的数据集

values <- runif(20,1000,10000)
timefornls <- rep(c(0:9), 2)
treatment <- rep(c("group1", "group2"), each=10, len=20)
datafornls <- data.frame(timefornls,treatment,values)
我无法理解我做错了什么?
如果你能解决这个问题,请提前感谢

使用nlme包中的gnls函数。@Roland:但这有什么问题吗?您的模型参数化过度了。如果你给X0加上一个任意数,然后从p的每个分量中减去这个数,那么你得到的预测是相同的,所以参数不是唯一确定的。从模型中省略X0。主要问题是您的示例数据根本不支持该模型。创建如下示例数据:
datafornls$values@G.Grothendieck是否确定?因为我没有看到这一点(并且与我前面评论中的示例数据进行了成功的拟合)。
datafit.m1 <- nls(values ~ X0 + p[treatment] * timefornls * exp(q[treatment] * timefornls), data = datafornls, start = list(q=c(0.05,0.05), p=c(1000,1000), X0=1000))
Error in numericDeriv(form[[3L]], names(ind), env) : 
Missing value or an infinity produced when evaluating the model