“在混合logit中使用”lognormal“分布时if(abs(x - oldx)< ftol)的错误

时间:2015-07-23 22:27:33

标签: r mlogit

我有一个关于如何使用R中的mlogit包来分析离散选择调查数据的问题。我们的调查是要求人们选择不同的保险单(具有免赔额和保险费两个属性)。

我用来调整混合logit的代码是:

[1] ml <- mlogit.data (mydata, choice="choice", shape = "wide", id = "individual", 
               opposite =c ('deductible', 'premium'),varying = 5:10)

[2] ml.w5 <- mlogit (choice~deductible+premium|0, ml, panel = TRUE, 
             rpar = c(deductible='ln', premium='ln'), 
             R = 100, halton = NA, print.level=0)

我尝试使用lognormal,因为我们希望免赔额和溢价的系数都是负数。我在[1]中使用“反向”来反转符号,因为对数正常总是正的。

但我总是收到错误警告:

"Error in if (abs(x - oldx) < ftol) { : missing value where TRUE/FALSE needed
In addition: Warning message: In log(start[ln]) : NaNs produced"

我仔细检查数据并确定没有任何遗漏数据。如果我将对数正态“ln”更改为“n”或“cn”,它将无任何警告地工作。

有谁知道如何处理这个问题?谢谢你的帮助。

0 个答案:

没有答案