-1

我将使用mlgit包。我像示例一样运行它,但它仍然给我一个错误,我不知道该怎么做。

data72 = mlogit.data(data, choice ="Hour72motor", shape ="long", ,alt.levels="mode")
simple = mlogit(Hour72motor ~ Hemisphere +Lesionlocation + gender + Age+ DoesHematoma+study, data=data72)

错误是:

对比错误<-( tmp , value = contr.funs[1 + isOF[nn]]) :对比只能应用于具有 2 个或更多级别的因子

谢谢您的支持。

我添加了推荐的评论;检查模型中非数值变量的计数

testdat <- na.omit(data72[c("Hour72motor", "Hemisphere", "Lesionlocation", 
      "gender","Age", "DoesHematoma", "study")]) ; 

lapply(testdat[!sapply(testdat, is.numeric)], table)
# $Hour72motor
# FALSE  TRUE 
#   128    16 
4

1 回答 1

1

根据我的经验,该错误消息通常意味着您在建模阶段尝试使用的数据对象为空或损坏,或者您在模型中用作 y 的变量类型不是它需要的类型是。您是否检查过数据框以确保您的第一行代码生成了您希望它生成的内容?尝试:

str(data72)
table(data72$Hour72motor)

它是否具有您期望的列数和行数?您的模型目标 (Hour72motor) 是否采用您预期的值?如果没有,请尝试修改第一行以确保以所需格式提取所需的数据。

于 2015-07-07T21:30:34.990 回答