【发布时间】:2021-10-06 04:16:48
【问题描述】:
我正在尝试使用估算数据运行多项回归。我可以用 nnet 包做到这一点,但是我想使用 mlogit。使用 mlogit 包时,我不断收到以下错误“1:nrow(data) 中的错误:长度为 0 的参数”。
所以制作数据
library(mlogit)
library(nnet)
library(tidyverse)
library(mice)
df <- data.frame(vax = sample(1:6, 500, replace = T),
age = runif(500, 12, 18),
var1 = sample(1:2, 500, replace = T),
var2 = sample(1:5, 500, replace = T))
# Create missing data using the mice package:
df2 <- ampute(df, prop = 0.15)
df3 <- df2$amp
df3$vax <- as.factor(df3$vax)
df3$var1 <- as.factor(df3$var1)
df3$var2 <- as.factor(df3$var2)
# Inpute missing data:
df4 <- mice(df3, m = 5, print = T, seed = 123)
它使用 nnet 的 multinom 工作:
multinomtest <- with(df4, multinom(vax ~ age + var1 + var2, data = df, model = T))
summary(pool(multinomtest))
但是当我尝试将数据重塑为 mlogit 格式时会引发错误
test <- with(df4, dfidx(data = df4, choice = "vax", shape = "wide"))
有谁知道我如何将插补数据转换为 mlogit 格式,或者甚至 mlogit 是否与鼠标或任何其他插补包兼容?
【问题讨论】:
标签: r statistics r-mice mlogit