glmm_p_srasymp <- glmmTMB(sr_asymp ~ tree + shrub + bare + infra + water_s + water_p + proximity + offset(log(n_cards)), ~1 | pentad, family = gaussian(link = 'identity'), data = data_p) overdisp_fun <- function(model) { rdf <- df.residual(model) rp <- residuals(model,type="pearson") Pearson.chisq <- sum(rp^2) prat <- Pearson.chisq/rdf pval <- pchisq(Pearson.chisq, df=rdf, lower.tail=FALSE) c(chisq=Pearson.chisq,ratio=prat,rdf=rdf,p=pval) } sink('../ch.2_results/glmm_p_srasymp.txt') # here we create a text file to write the model results to summary(glmm_p_srasymp) overdisp_fun(glmm_p_srasymp) ps <- transform(data_p, tree = scale(tree, center = FALSE), shrub = scale(shrub, center = FALSE), grass = scale(grass, center = FALSE), bare = scale(bare, center = FALSE), infra = scale(infra, center = FALSE), water_s = scale(water_s, center = FALSE), water_p = scale(water_p, center = FALSE), proximity = scale(proximity, center = FALSE)) glmm_p_srasymp_scaled <- update(glmm_p_srasymp, data = ps)# model with scaled predictors that produced no warnings ss <- c(1, tree <- 1/attr(ps$tree,"scaled:scale"), shrub <- 1/attr(ps$shrub,"scaled:scale"), grass <- 1/attr(ps$grass,"scaled:scale"), bare <- 1/attr(ps$bare,"scaled:scale"), infra <- 1/attr(ps$infra,"scaled:scale"), water_s <- 1/attr(ps$water_s,"scaled:scale"), water_p <- 1/attr(ps$water_p,"scaled:scale"), proximity <- 1/attr(ps$proximity,"scaled:scale"), tree + shrub + bare + infra + water_s + water_p + proximity) s_vals <- cbind(glmmTMB_unsc=suppressWarnings(sqrt(diag(vcov(glmm_p_srasymp)$cond))), glmmTMB_sc=sqrt(diag(vcov(glmm_p_srasymp_scaled)$cond)*ss)) print(s_vals,digits=3) summary(glmm_p_srasymp_scaled) overdisp_fun(glmm_p_srasymp_scaled) closeAllConnections()