我打算使用mlogit包。我像示例一样运行它,但它仍然给我一个错误,我不知道该怎么办。
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
答案 0 :(得分:1)
根据我的经验,该错误消息通常意味着您在建模阶段尝试使用的数据对象为空或已损坏,或者您在模型中使用的变量类型不是类型中的y它需要。您是否检查了数据框以确保您的第一行代码生成了您希望它生成的内容?尝试:
str(data72)
table(data72$Hour72motor)
它是否具有您期望的列数和行数?您的模型目标(Hour72motor)是否采用您期望的值?如果对任何一个都没有,请尝试修改第一行,以确保以所需格式提取所需数据。