R glmulti与分数logit模型

R glmulti与分数logit模型,r,glm,R,Glm,我想用以下命令拟合分数logit模型: glmfit <- glm(tr1 ~ period + male + stib+ income, family = quasibinomial(link = "logit"), data=mydata) 但是,我经常会出现以下错误,我不明白为什么: lesCrit[sel]=cricri中出错:替换的长度为零 有人知道我如何克服这个问题吗?对我来说,这很有效: library(bbmle) qaicmod = function (fit)

我想用以下命令拟合分数logit模型:

glmfit <- glm(tr1 ~ period + male + stib+ income, 
   family = quasibinomial(link = "logit"), data=mydata)
但是,我经常会出现以下错误,我不明白为什么:

lesCrit[sel]=cricri中出错:替换的长度为零

有人知道我如何克服这个问题吗?

对我来说,这很有效:

library(bbmle)
qaicmod = function (fit) qAIC(fit, dispersion=with(fit,sum((weights * residuals^2)[weights > 0])/df.residual) ) 

glmulti.out <- glmulti(tr1 ~ period + male + stib+ income, 
  data = mydata,crit = "qaicmod", 
   confsetsize = 5, fitfunction = "glm", 
   family = binomial(link = "logit"))
库(bbmle)
qaimod=函数(fit)qAIC(fit,离散度=带(fit,sum((权重*残差^2)[权重>0])/df.残差))

glmulti.out请给我们一个可复制的例子好吗?@Ben Bolker:在下面发布了一个答案,但仍然有一个可能的解决方案存在问题-你知道如何解决这个问题吗?
library(bbmle)
qaicmod = function (fit) qAIC(fit, dispersion=with(fit,sum((weights * residuals^2)[weights > 0])/df.residual) ) 

glmulti.out <- glmulti(tr1 ~ period + male + stib+ income, 
  data = mydata,crit = "qaicmod", 
   confsetsize = 5, fitfunction = "glm", 
   family = binomial(link = "logit"))
disp <<- summary(fullmodel)$dispersion
qaicmod = function (fit) qAIC(fit, dispersion=disp) 
library(MuMIn)
x.quasibinomial <<- function(...) {
res <- quasibinomial(...)
res$aic <- binomial(...)$aic
res
}
qaicmod <<- function (fit) QAIC(update(fit, family = x.quasibinomial), chat = deviance(fit) / df.residual(fit))

glmulti.out <- glmulti(tr1 ~ period + male + stib+ income, 
      data = mydata,crit = "qaicmod", 
       confsetsize = 5, fitfunction = "glm", 
       family = binomial(link = "logit"))