R语言mblogit多分类回归添加多个随机效应的方法问询
多分类回归(mlogit)添加多个独立随机效应的正确方法
可以构建包含多个独立随机效应的模型,mlogit包要求通过列表形式传递多个随机效应公式,以下是正确实现方式:
正确代码示例
library(MASS) library(mlogit) # 确保数据集为mlogit所需的长格式(若原始数据集是宽格式) housing_long <- mlogit.data(housing, shape = "wide", choice = "Sat") # 构建包含两个独立随机截距的模型 house.mblogit4 <- mblogit(Sat ~ 1, random = list(~1|Infl, ~1|Type), maxit = 1000, estimator = "REML", data = housing_long)
错误写法说明
你之前尝试的两种写法问题如下:
random=~1|Infl+ ~1|Type:不符合mlogit的随机效应公式语法,该包不支持这种直接拼接多个分组的写法。random=~1|Infl+Type:此写法表示将Infl和Type组合为单个交叉分组变量(即按两者的组合进行随机截距建模),而非两个独立的随机效应,这与你的需求不符,因此会触发语法错误。
若你实际需要的是交叉随机效应(基于Infl和Type的组合分组),可以使用~1|Infl:Type的写法,但这和添加两个独立随机效应是完全不同的模型设定。
内容的提问来源于stack exchange,提问作者Agata
相关产品推荐
相关产品推荐

