R mlogit 模型,需要 TRUE/FALSE 的缺失值,20 个无效因子级别警告
R mlogit model, , missing value where TRUE/FALSE needed, 20 invalid factor level warnings
我正在尝试 运行 使用 R 中的 mlogit 包进行多项逻辑回归。
我已将数据上传到此处 https://drive.google.com/file/d/0B_o3xTWAYdbuRGw0dzNFRzd2NEk/view?usp=sharing。
数据包含两个不同的选择变量,我想运行使用相同的模型。我运行第一个模型是这样的:
lfsm1 <- mlogit.data(lfs.models, shape="wide", choice="PWK")
f1 <- mFormula(PWK~1 | MIGGRP+SEX+AGE+EDU)
m1 <- mlogit(f1, lfsm1, weights=PWT14)
summary(m1)
此模型 运行 没有问题。然后我 运行 在另一个选择变量上使用完全相同的模型:
lfsm2 <- mlogit.data(lfs.models, shape="wide", choice="multi")
f2 <- mFormula(multi~1 | MIGGRP+SEX+AGE+EDU)
m2 <- mlogit(f1, lfsm2, weights=PWT14)
我收到以下错误:
Error in if (is.null(initial.value) || lnl <= initial.value) break :
missing value where TRUE/FALSE needed
In addition: There were 20 warnings (use warnings() to see them)
> warnings()
Warning messages:
1: In `[<-.factor`(`*tmp*`, is.na(x), value = FALSE) :
invalid factor level, NA generated
并且该警告消息重复了 20 次。
我不确定这些错误中的任何一个在我的模型上下文中意味着什么。之前的 post (mlogit: missing value where TRUE/FALSE needed) 表明我的第一个错误发生是因为我的数据不是宽格式,或者因为有些人没有 select 任何替代方案。就我而言,这些解释都不可能是正确的。我所看到的警告消息表明 mlogit 对作为因子或数字的变量反应不佳。但我不太明白为什么这在多项式回归上下文中很重要,或者这个问题在如此大的数据集中只出现了二十次。
如有任何建议,我们将不胜感激!
尝试
m2 <- mlogit(f2, lfsm2, weights=PWT14)
注意 f2 在对 mlogit
的调用中。
在您对 mlogit.data
的第二次调用中,您已指定 multi
是选择变量,并相应地准备了数据。然而,在您使用的公式 f1 中,因变量指定为 PWK
,因此 mlogit
需要一个数据框,每个数据框都有一行PMK
而非 multi
.
定义的备选方案
我正在尝试 运行 使用 R 中的 mlogit 包进行多项逻辑回归。 我已将数据上传到此处 https://drive.google.com/file/d/0B_o3xTWAYdbuRGw0dzNFRzd2NEk/view?usp=sharing。
数据包含两个不同的选择变量,我想运行使用相同的模型。我运行第一个模型是这样的:
lfsm1 <- mlogit.data(lfs.models, shape="wide", choice="PWK")
f1 <- mFormula(PWK~1 | MIGGRP+SEX+AGE+EDU)
m1 <- mlogit(f1, lfsm1, weights=PWT14)
summary(m1)
此模型 运行 没有问题。然后我 运行 在另一个选择变量上使用完全相同的模型:
lfsm2 <- mlogit.data(lfs.models, shape="wide", choice="multi")
f2 <- mFormula(multi~1 | MIGGRP+SEX+AGE+EDU)
m2 <- mlogit(f1, lfsm2, weights=PWT14)
我收到以下错误:
Error in if (is.null(initial.value) || lnl <= initial.value) break :
missing value where TRUE/FALSE needed
In addition: There were 20 warnings (use warnings() to see them)
> warnings()
Warning messages:
1: In `[<-.factor`(`*tmp*`, is.na(x), value = FALSE) :
invalid factor level, NA generated
并且该警告消息重复了 20 次。
我不确定这些错误中的任何一个在我的模型上下文中意味着什么。之前的 post (mlogit: missing value where TRUE/FALSE needed) 表明我的第一个错误发生是因为我的数据不是宽格式,或者因为有些人没有 select 任何替代方案。就我而言,这些解释都不可能是正确的。我所看到的警告消息表明 mlogit 对作为因子或数字的变量反应不佳。但我不太明白为什么这在多项式回归上下文中很重要,或者这个问题在如此大的数据集中只出现了二十次。
如有任何建议,我们将不胜感激!
尝试
m2 <- mlogit(f2, lfsm2, weights=PWT14)
注意 f2 在对 mlogit
的调用中。
在您对 mlogit.data
的第二次调用中,您已指定 multi
是选择变量,并相应地准备了数据。然而,在您使用的公式 f1 中,因变量指定为 PWK
,因此 mlogit
需要一个数据框,每个数据框都有一行PMK
而非 multi
.