R给我错误“对比只能应用于具有2个或更多级别的因素”运行mlogit模型,但我所有的因素都有2个级别

机器算法验证 r 联合分析 mlogit
2022-03-31 10:57:30

我有一组选择实验的结果,我试图使用 R 中的 mlogit 函数进行分析。我的数据集如下所示,其中每个 STR 值代表单选实验中的三个选择,“CHOICE”是二进制变量指示参与者选择了哪个,CG 列详细说明了每个选择的属性(DG 是二元变量 - 1=是,0=否)。

数据集的图像

我正在尝试将模型运行为:

m <- mlogit(CHOICE ~ PRICE + GreenStatement + Certification +
            MediumBrand + HighBrand,
            SP1, choice = "CHOICE", shape = "long", alt.levels = "STR")

但得到错误“对比只能应用于具有 2 个或更多级别的因素”。我尝试在所有变量上运行“as.factor”,因此它们是不同的因子,并且要求 R 显示数据摘要告诉我它们都有 2 个或更多级别。但我仍然得到这个错误。任何人都可以帮助我识别(并修复!)这个错误的来源吗?

谢谢。

1个回答

在此处查看答案 - https://stackoverflow.com/questions/18171246/error-in-contrasts-when-defining-a-linear-model-in-r

您使用的某些因素要么只有 1 个不同的值,要么是 NA