2016-11-23 75 views
0

我想使用包drc将一个4参数逻辑回归模型拟合到一些毒性数据中。这是一个例子的数据集:如何使用try(或tryCatch)来拟合4参数逻辑模型或3参数逻辑模型

exp.df <- as.data.frame(matrix(nrow = 14, ncol = 2)) 

exp.df[,1] <- c(3200, 9600, 25600, 25600, 25600, 1600, 800, 
       6400, 19200, 0, 12800, 1200, 400, 2400) 

exp.df[,2] <- c(0.5855615, 0.9625668, 0.4064171, 0.4973262, 
       0.4732620, 1.0000000, 0.6764706, 0.4652406, 
       0.5106952, 0.7566845, 0.5427807, 0.5106952, 
       0.5935829, 0.4759358) 

names(exp.df) <- c("Dose", "Response") 

Dose_Response <- drm(Response ~ Dose, data = exp.df, 
        fct = LL.4(), type = "binomial") 

结果在这样的警告:

错误的Optim(startVec,opfct,粗麻布= TRUE,方法= optMethod, 控制=列表(麦克斯特= MAXIT, :非有限有限差分值 [4]在drmOpt(opfct,opdfct1,startVecSc,optMethod, 约束,warnVal错误,:收敛失败

如果我运行一个3参数逻辑REG解决,它的工作。

Dose_Response <- drm(Response ~ Dose, data = exp.df, 
        fct = LL.3(), type = "binomial") 

我可以使用尝试或tryCatch首先测试的4参数逻辑,那么3个参数回归?还是有另一种解决方案?

+0

我不知道R,但它看起来只有2个色阶,即2个特征。在这种情况下,您应该运行3参数模型。如果您没有3个特征+偏差项,则无法尝试4个参数。所以3将永远工作,4将永远不会工作。也就是说,如果我理解正确。 – user3494047

回答

0

什么是您的cluster(id)条款?在我添加了一个虚拟文件之后,您的数据通过LL.3()LL.4()解决。