【问题标题】:How can I estimate a latent class logit model in R?如何估计 R 中的潜在类 logit 模型?
【发布时间】:2020-05-06 22:09:09
【问题描述】:

我是使用 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 个错误:

  1. 在第一个命令中,我收到错误“reshapeLong 中的错误(数据,idvar = idvar,timevar = timevar,varying = varying,:'varying' arguments must be the same length”。我注意到我可以通过声明 'varying = list(3:18)' 而不是 'varying = 3:18' 来消除错误,但我不确定这是否是正确的处理方法。

  2. 在第二个命令中,我收到错误“eval(predvars, data, env) 中的错误:找不到对象‘COST’”。 'COST' 确实不是变量,但 'COST_1'(即第一个替代方案的成本)、'COST_2' 和 'COST_3' 是。我希望“成本”的系数代表成本在选择替代方案时的重要性。这对于所有其他变量都是相似的。

我觉得奇怪的是,仅向数据文件添加 1 列会导致这些错误。我希望有人有一些好的建议。感谢您的帮助!

(包含图片中我的数据示例)。

【问题讨论】:

  • 欢迎来到 Stack Overflow!帮助我们帮助您:提供minimal reproducible example。您已经做了很多工作来提供一个,但最后一件事会非常有帮助:edit 您的问题包括dput(data) 的输出,这样我们就可以复制和粘贴您的数据,而不是提供您的数据我们无能为力的图像。有关详细信息,请参阅How to make a great R reproducible example

标签: r reshape mlogit varying


【解决方案1】:

我保留命令“variing = 3:17”并将代码更改为:

df01 <- mlogit.data(data, 
                      id = "ID", 
                      choice = "Choice",
                      varying = 3:17, 
                      shape = "wide", 
                      sep = "",
                      alt.levels = c("FOSS","REN","NUCL","COST","OUTAGE"))

lc <- gmnl(Choice ~ COST + REN + NUCL + OUTAGE | MALE | 0 | 0 | 1 , 
           data = df01,
           model = 'lc', 
           Q = 3, 
           panel = TRUE,
           method = "bhhh")

对于少于 13 个单独变量,这似乎可行。

【讨论】:

    猜你喜欢
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 2018-05-27
    相关资源
    最近更新 更多