我正在尝试计算使用 lme4 包中的“glmer”估计的协变量的边际效应。我正在使用http://researchrepository.ucd.ie/bitstream/handle/10197/3404/WP11_22.pdf?sequence=中提供的代码1 . 该代码没有给出特定变量的标准错误。这可能是什么原因,我该如何解决。这是使用的代码;
glm3 <-glmer(Distance~Weather+Gender+Time+`(1|Population),data = pr,family = binomial('logit'),control = glmerControl(optimizer = "bobyqa"),nAGQ = 1)`
glmermfx<-function(x,nsims = 1000){
set.seed(70)
pdf<-mean(dlogis(-log((1-fitted(x))/fitted(x))))
pdfsd<-sd(dlogis(-log((1-fitted(x))/fitted(x))))
marginal.effects<-pdf*fixef(x)
sim<-matrix(rep(NA,nsims*length(fixef(x))),nrow=nsims)
for(i in 1:length(fixef(x))){
sim[,i]<-rnorm(nsims,fixef(x)[i],diag(vcov(x)^0.5)[i])
}
pdfsim<-rnorm(nsims,pdf,pdfsd)
sim.se<-pdfsim*sim
res<-cbind(marginal.effects,sd(sim.se))
colnames(res)[2]<-"standard.error"
ifelse(names(fixef(x))[1]=="(Intercept)",
return(res[2:nrow(res),]),return(res))
}
glmermfx(glm3)
输出看起来像这样
marginal.effects standard.error
Weather 0.03913997 0.1085925
Gender 0.05745454 0.1085925
Time -0.05135142 0.1085925