首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mlogit和clusterSEs -数据帧中的错误

mlogit和clusterSEs -数据帧中的错误
EN

Stack Overflow用户
提问于 2020-12-03 21:24:04
回答 1查看 186关注 0票数 0

我有一个数据集,每个客户有多个观测值,并希望在R中进行多项回归。要解释每个客户的多个观测值,我需要检查聚集的标准误差。

为此,我使用了mlogitclusterSEs包。

我的第一步是将我的原始数据帧转换成一个宽的数据帧:

代码语言:javascript
复制
mlMASTER_DATA <- mlogit.data(MASTER_DATA, shape = "wide", choice="Booking_status")

在那之后,我创建了我的模型:

代码语言:javascript
复制
mnlModel_P3 <- mlogit(Booking_status ~ 1 | logprevious_bookings + logsearches,
                      data=mlMASTER_DATA, reflevel = "is_booked_24h", na.action = na.exclude)

模型运行正常。

在第三步中,我想说明标准错误:

代码语言:javascript
复制
Cluster_model <- cluster.im.mlogit(mnlModel_P3, mlMASTER_DATA, ~user_id)

但是,我得到以下错误消息:

代码语言:javascript
复制
error in `[.data.frame`(as.data.frame(x), i, j, drop = drop) : 
  undefined columns selected

有人能在这个问题上提供帮助吗?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-04-22 22:48:03

在使用cluster.im.logit()之前,您可能需要使用dfidx包转换data.frame,该包将带有观察值和集群详细信息的索引嵌入到数据框中。

例如,首先运行help(cluster.im.logit),然后在帮助象限中滚动到底部并查看示例。

下面是我想要开始的例子:

代码语言:javascript
复制
H.ml <- dfidx(H, shape="wide", choice="depvar", varying=c(3:12), 
                idx = list(c("idcase", "region")))

这会将H df旋转到宽格式,但也包括一个idx列。idx实际上是一个由观察和聚类两部分组成的索引(据我所知)。然后,您可以使用这个新的df运行mlogit:

代码语言:javascript
复制
m <- mlogit(depvar~ic+oc, H.ml)

接下来,在模型输出上运行cluster.im.logit(),并使用指定的集群(嵌入在idx中)运行df。再次根据帮助文件:

代码语言:javascript
复制
cluster.im.h <- cluster.im.mlogit(m, H.ml, ~ region)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65126858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档