我想用命令拟合小数logit模型:
glmfit <- glm(tr1 ~ period + male + stib+ income,
family = quasibinomial(link = "logit"), data=mydata)
其中 tr1
是一个介于0和1之间的变量(包括一些零) .
我现在想要选择QAIC值最小的模型(即测试自变量的可能组合并检查得到的QAIC值) . 为此,我尝试在R中应用 glmulti
命令:
require("glmulti")
glmulti.out <- glmulti(tr1 ~ period + male + stib+ income,
data = mydata,crit = "qaic",
confsetsize = 5, fitfunction = "glm",
family = quasibinomial(link = "logit"))
但是,我经常遇到以下错误,我不明白为什么:
lesCrit中的错误[sel] = cricri:replacement的长度为零
有谁知道我怎么能克服这个问题?
1 回答
对我来说,这工作:
这使用常规二项GLM,但是基于估计的色散系数计算QAIC . 在qaicmod函数的色散参数中,您还可以将包含所有变量的完全拟随机GLM的估计色散系数(我已经看到的一些统计推荐),即改为使用
最后,我也尝试过使用
但是这会返回错误
"Error in eval(expr, envir, enclos) : could not find function "fitfunc""
- 不知道我怎么能解决这个问题...(想法是这个解决方案会将模型正确地重新定义为一个quasibinomial GLM然后从那里返回QAIC)我认为上面的第一个解决方案应该没问题......