R:具有替代特定变量的mlogit

R:具有替代特定变量的mlogit,r,mlogit,R,Mlogit,我试图用mlogit包估算一个多项式logit模型。我不知道如何处理不适用于所有备选方案的变量。例如,我有四种交通方式(步行、自行车、公共交通和汽车),可变“成本”仅适用于汽车和公共交通。当我将csv文件导入R并尝试估计模型时,我会收到以下错误消息: Error in reshapeLong(data, idvar = idvar, timevar = timevar, varying = varying, : 'varying' arguments must be the same l

我试图用mlogit包估算一个多项式logit模型。我不知道如何处理不适用于所有备选方案的变量。例如,我有四种交通方式(步行、自行车、公共交通和汽车),可变“成本”仅适用于汽车和公共交通。当我将csv文件导入R并尝试估计模型时,我会收到以下错误消息:

Error in reshapeLong(data, idvar = idvar, timevar = timevar, varying = varying,  : 
  'varying' arguments must be the same length
我如何才能让R理解成本变量只描述了两个备选方案,而不是全部?

使用
conspar=c(“自行车:成本”、“步行:成本”)
将成本视为自行车和步行的恒定变量


查看包装上第31页的示例。

对于不适用的,请填写0。我想这对成本变量是可行的,但我也有分类变量,如舒适度,分为两个级别:1级(用1编码)和2级(用0编码)。该变量仅描述飞机和火车,而不描述汽车。若我为这辆车填上0,那个就意味着这辆车的舒适度为2。等级不完全正确,因为汽车只有一个舒适度等级。将其设为三级系数-1级,2级,不适用。我尝试过,但没有效果。当我尝试重新格式化宽格式的数据时,会出现错误消息。输入表不包含备选方案“脚”和“自行车”的可变成本。可能我需要添加两列“成本:英尺”和“成本:自行车”,并填写0。在这种情况下,为所有备选方案定义了成本变量,并且程序可以重塑数据。此方法不适用于分类变量。是-添加两列“成本:英尺”和“成本:自行车”,并填写0。你能提供一个可复制的例子吗?我添加了脚和自行车替代品的列,并填写了0。代码运行正常。问题是我也有分类变量,比如舒适度,我不知道如何建模。对我来说,唯一合理的方法就是上面提到的方法——制作一个三级因子(不适用,2st级和二级)。我仍然不确定这是否是对分类变量建模的正确方法。对于所有不适用的模式,舒适度变量是否都为0?对于所有适用模式的情况,and=1?或者有些人将其作为1,有些人将其作为2?如果是后者,您可能需要将其编码为两个变量:comfort1 comfort2(0不适用或不可用,1如果可用)。如果您提供一个示例数据集和一个可复制的示例,您更有可能获得更好的帮助。