R 试图编写一个函数来预测共享,却一直遇到相同的错误

R 试图编写一个函数来预测共享,却一直遇到相同的错误,r,predict,mlogit,R,Predict,Mlogit,我正在尝试使用我为以下汽车创建的模型(称为model3,并使用mlogit)进行份额预测: -1号车:4座,自动变速器,敞篷车,40 -2号车:2个座椅,手动变速器,不可转换,35 每次我运行它时,代码都会一直运行到最后一个函数(共享函数)。以下错误不断弹出: “data.model%*%model$coef中出错:参数不一致” 有人知道如何消除这个错误吗?我已经在下面提供了我的代码,以防出现其他问题 price <- c(40, 35) seat <- factor(c(4, 2)

我正在尝试使用我为以下汽车创建的模型(称为model3,并使用
mlogit
)进行份额预测:

-1号车:4座,自动变速器,敞篷车,40

-2号车:2个座椅,手动变速器,不可转换,35

每次我运行它时,代码都会一直运行到最后一个函数(共享函数)。以下错误不断弹出:

“data.model%*%model$coef中出错:参数不一致”

有人知道如何消除这个错误吗?我已经在下面提供了我的代码,以防出现其他问题

price <- c(40, 35)
seat <- factor(c(4, 2), levels=c(2,4,5))
trans <- factor(c("auto", "manual"), levels=c("auto", "manual"))
convert <- factor(c("yes", "no"), levels=c("no", "yes"))
segment <- factor(c("basic", "basic"), levels=c("basic", "fun", "racer"))
prod <- data.frame(seat, trans, convert, price, segment)
prod

predict_mnl <- function(model, products) {
data.model <- model.matrix(update(model$formula, 0 ~ .), 
                         data = products)[,-1]
utility <- data.model%*%model$coef
share <- exp(utility)/sum(exp(utility))
cbind(share, prod)
}

shares <- predict_mnl(model3, prod)

price这里的
model3
是什么?此外,请提供您的培训数据集和种子。。。