R:na.action=na.exclude不使用mlogit
我试图将多项式逻辑回归的拟合值添加到原始数据框架(称为“订单”)。 不幸的是,这是不可能的,因为显然预测的概率和数据帧没有相同的长度——即使我在回归中使用了na.exclude。 也许这与必要的mlogit.data转换有关,因此na.exclude不起作用R:na.action=na.exclude不使用mlogit,r,mlogit,R,Mlogit,我试图将多项式逻辑回归的拟合值添加到原始数据框架(称为“订单”)。 不幸的是,这是不可能的,因为显然预测的概率和数据帧没有相同的长度——即使我在回归中使用了na.exclude。 也许这与必要的mlogit.data转换有关,因此na.exclude不起作用 mlModel_refPRE_STD <- mlogit(PAYMENT_METHOD ~ 1 | GROSS_RETAIL_TOTAL_STD + SOLVENCY_SCORE_STD + GENDER + EXISTING_CUS
mlModel_refPRE_STD <- mlogit(PAYMENT_METHOD ~ 1 | GROSS_RETAIL_TOTAL_STD + SOLVENCY_SCORE_STD + GENDER + EXISTING_CUSTOMER, data=mlORDERS, reflevel="PRE", na.action=na.exclude)
> ORDERS$predicted.probabilities <- fitted(mlModel_refPRE_STD) #
Error in `$<-.data.frame`(`*tmp*`, "predicted.probabilities", value = c(0.0168546281869084, :
replacement has 129159 rows, data has 129372
> length(mlModel_refPRE_STD$fitted.values)
[1] 129159
> length(ORDERS$SOLVENCY_SCORE_STD)
[1] 129372
mlModel\u refPRE\u STD订单$predicted.probability长度(订单$SOLVENCY\u SCORE\u STD)
[1] 129372
(回归中的所有其他变量的长度也为129372)可能是您在两个不同的数据集中工作?模型是在
mlORDERS
上制作的,您正在尝试将拟合值添加到ORDERS
中,没错。但是,将拟合值添加到mlORDERS
中是没有用的,而且由于长度不同也不起作用mlORDERS
是一个转换为长格式的数据帧,因此可以将其用作具有mlogit
的多项式逻辑回归的输入。上面显示的长度差正好是一个自变量的缺失值(NAs)数,但我想知道,为什么即使我使用了na.exclude,拟合值列也会缩短…可能是因为您使用的是两个不同的数据集吗?模型是在mlORDERS
上制作的,您正在尝试将拟合值添加到ORDERS
中,没错。但是,将拟合值添加到mlORDERS
中是没有用的,而且由于长度不同也不起作用mlORDERS
是一个转换为长格式的数据帧,因此可以将其用作具有mlogit
的多项式逻辑回归的输入。上面显示的长度差正好是一个自变量的缺失值(NAs)数,但我想知道为什么即使我使用了na.exclude,拟合值列也会缩短。。。