我是使用 R 的新手。我正在尝试使用面板数据估计潜在类 logit 模型。我试着按照这个例子:https ://rpubs.com/msarrias1986/335556 。
我被告知以下代码应该可以工作:
df01 <- mlogit.data(data,
id = "ID",
choice = "Choice",
varying = 3:17,
shape = "wide",
sep = "")
lc <- gmnl(Choice ~ COST + REN + NUCL + OUTAGE180 + OUTAGE360 | 0 | 0 | 0 | 1 ,
data = df01,
model = 'lc',
Q = 3,
panel = TRUE,
method = "bhhh")
使用 17 列的基本数据文件(见图),它可以工作。但是,当我再添加一列时,例如性别的虚拟变量,我得到 2 个错误:
在第一个命令中,我收到错误“reshapeLong 中的错误(数据,idvar = idvar,timevar = timevar,variable = varying,:'varying' arguments must be the same length”。我注意到我可以摆脱错误通过声明“variing = list(3:18)”而不是“variing = 3:18”,但我不确定这是否是处理它的正确方法。
在第二个命令中,我收到错误“eval 中的错误(predvars,data,env):找不到对象'COST'”。'COST' 确实不是一个变量,但'COST_1'(即第一个备选方案的成本)、'COST_2' 和'COST_3' 是。我希望“成本”的系数代表成本在选择替代方案时的重要性。这对于所有其他变量都是相似的。
我觉得很奇怪,只是在数据文件中添加 1 列会导致这些错误。我希望有人有一些好的建议。感谢您的帮助!
(包含图像中我的数据示例)。