我在使用 mlogit() 函数时遇到问题。我试图预测给定集合中的哪些变量是参加我们调查的人最喜欢的。我试图预测变量的最佳组合以创建最首选的选项。基本上,我们测量的是“名称”、“徽标大小”、“设计”、“主题”、“风味”和“颜色”。
为此,我们有一个庞大的数据集,并试图通过 mlogit.data() 和 mlogit() 运行它,尽管我们不断收到相同的错误:
if (abs(x - oldx) < ftol) { 中的错误:需要 TRUE/FALSE 的缺失值
我的数据都不是负面的或缺失的,所以这很令人困惑。我的语法是:
#Process data in mlogit.data()
data2 <-
mlogit.data(data=data, choice="Choice",
shape="long", varying=5:10,
alt.levels=paste("pos",1:3))
#Make character columns factors and "choice" column (the one we are
#measuring) a numeric.
data2$Name <- as.factor(data2$Name)
data2$Logo.Size <- as.factor(data2$Logo.Size)
data2$Design <- as.factor(data2$Design)
data2$Theme <- as.factor(data2$Theme)
data2$Color <- as.factor(data2$Color)
data2$Choice <- as.numeric(as.character(data2$Choice))
##### RUN MODEL #####
m1 <- mlogit(Choice ~ 0 + Name + Logo.Size + Design + Theme + Flavor
+ Color, data = data2)
m1
看起来我的语法有问题,还是我的数据有问题?