R 加权GEE模型秩亏时(MuMIn)疏浚
我尝试在符合GEE的边际模型之间进行正向模型选择,使用准Akaike标准(QIC)作为选择标准。然而,当我使用MuMIn包中的疏通函数时,我的全局模型是秩缺陷的 在一个类似的问题上,通过“欺骗”穆明解决了。这是通过拟合一个有效的较小的全局模型、更新该模型的公式参数并使用该参数来实现的。但是,在使用wgeesel包中的wgee()函数时,我无法实现这一点 这里是一个使用IMPS纵向数据集从R复制的示例R 加权GEE模型秩亏时(MuMIn)疏浚,r,mumin,R,Mumin,我尝试在符合GEE的边际模型之间进行正向模型选择,使用准Akaike标准(QIC)作为选择标准。然而,当我使用MuMIn包中的疏通函数时,我的全局模型是秩缺陷的 在一个类似的问题上,通过“欺骗”穆明解决了。这是通过拟合一个有效的较小的全局模型、更新该模型的公式参数并使用该参数来实现的。但是,在使用wgeesel包中的wgee()函数时,我无法实现这一点 这里是一个使用IMPS纵向数据集从R复制的示例 ####Example1 data(imps) library(wgeesel) imps.co
####Example1
data(imps)
library(wgeesel)
imps.complete <- na.omit(imps)
imps.complete$repd<-imps.complete$Drug #repeat a column to make model rank-deficient
fit <- wgee(IMPS79 ~ Drug+Sex+Time+repd, data=imps.complete,
id=imps.complete$ID, family="gaussian",
corstr="exchangeable", scale=NULL)
gee.min <- wgee(IMPS79 ~ Drug+Sex+Time, data=imps.complete,
id=imps.complete$ID, family="gaussian",
corstr="exchangeable", scale=NULL) #this model can be fit
gee.min$model #IMPS79 ~ Drug + Sex + Time
gee.min$model <- IMPS79 ~ Drug + Sex + Time + repd #update model argument
#try the solution from other stackoverflow page. doesn't work
options(na.action=na.fail)
gee.retry <- model.sel(lapply(
dredge(gee.min,fixed=c("Drug","Sex"),rank="QIC",evaluate=FALSE),
eval),rank="QIC")
# note that the call argument cannot be updated
gee.min$call <- wgee(model = IMPS79 ~ Drug + Sex + Time + repd, data = imps.complete,
id = imps.complete$ID, family = "gaussian", corstr = "exchangeable",
scale = NULL)
#####示例1
数据(imps)
图书馆(wgeesel)
imps.complete我无法使用MuMIn包解决此问题
然而,我发现了一个解决方法,使用Peter DeWitt在GitHub上发布的包。他有一个名为gee_stepper的便捷功能,可以使用QIC执行正向模型选择,并在执行过程中输出结果。在对函数进行了一些小的编辑后,我可以将其用于我的目的:
(1) 将正在使用的QIC更改为从MuMIn包计算的实际QIC;gee_stepper似乎使用了MESS软件包中的准似然值
(2) 使函数使用用户指定的最小模型,例如始终包含某些协变量,而不是使用仅截距模型作为最小模型