我有一个关于如何使用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”,它将无任何警告地工作。
有谁知道如何处理这个问题?谢谢你的帮助。