if (FALSE) {
# this example requires having the 'gam' package installed
data(rotif.env)
library(gam)
# get two different model predictions for one of the species in this dataset:
names(rotif.env)
vars <- names(rotif.env)[5:17]
form_glm <- as.formula(paste("Ttetra ~", paste(vars, collapse = "+")))
mod_glm <- glm(form_glm, family = binomial, data = rotif.env)
pred_glm <- predict(mod_glm, rotif.env, type = "response")
form_gam <- as.formula(paste("Ttetra ~", paste("s(", vars, ")", collapse = "+")))
mod_gam <- gam(form_gam, family = binomial, data = rotif.env)
pred_gam <- predict(mod_gam, rotif.env, type = "response")
# convert probability predictions to favourability:
fav_glm <- Fav(pred = pred_glm, sample.preval = prevalence(model = mod_glm))
fav_gam <- Fav(pred = pred_gam, sample.preval = prevalence(model = mod_gam))
# compute the consensus favourability of these two models:
fav_consensus <- fuzzyConsensus(cbind(fav_glm, fav_gam))
cor(cbind(fav_glm, fav_gam, fav_consensus))
}
Run the code above in your browser using DataLab