我有一个数据集,每个客户有多个观测值,并希望在R中进行多项回归。要解释每个客户的多个观测值,我需要检查聚集的标准误差。
为此,我使用了mlogit和clusterSEs包。
我的第一步是将我的原始数据帧转换成一个宽的数据帧:
mlMASTER_DATA <- mlogit.data(MASTER_DATA, shape = "wide", choice="Booking_status")在那之后,我创建了我的模型:
mnlModel_P3 <- mlogit(Booking_status ~ 1 | logprevious_bookings + logsearches,
data=mlMASTER_DATA, reflevel = "is_booked_24h", na.action = na.exclude)模型运行正常。
在第三步中,我想说明标准错误:
Cluster_model <- cluster.im.mlogit(mnlModel_P3, mlMASTER_DATA, ~user_id)但是,我得到以下错误消息:
error in `[.data.frame`(as.data.frame(x), i, j, drop = drop) :
undefined columns selected有人能在这个问题上提供帮助吗?非常感谢!
发布于 2021-04-22 22:48:03
在使用cluster.im.logit()之前,您可能需要使用dfidx包转换data.frame,该包将带有观察值和集群详细信息的索引嵌入到数据框中。
例如,首先运行help(cluster.im.logit),然后在帮助象限中滚动到底部并查看示例。
下面是我想要开始的例子:
H.ml <- dfidx(H, shape="wide", choice="depvar", varying=c(3:12),
idx = list(c("idcase", "region")))这会将H df旋转到宽格式,但也包括一个idx列。idx实际上是一个由观察和聚类两部分组成的索引(据我所知)。然后,您可以使用这个新的df运行mlogit:
m <- mlogit(depvar~ic+oc, H.ml)接下来,在模型输出上运行cluster.im.logit(),并使用指定的集群(嵌入在idx中)运行df。再次根据帮助文件:
cluster.im.h <- cluster.im.mlogit(m, H.ml, ~ region)https://stackoverflow.com/questions/65126858
复制相似问题