R Under development (unstable) (2025-07-27 r88459 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > regression.tests <- FALSE > > if (regression.tests && require("carData") && require("effects")){ + + load("regression-tests.RData") + + regressionTest <- function(old, new){ + test.name <- deparse(substitute(new)) + if (!isTRUE(all.equal(old, as.data.frame(new), tolerance=1e-5))) { + stop("failed regression test ", test.name) + } else { + cat("\n", test.name, ": OK", sep="") + } + } + + m.lm <- lm(prestige~(income + education)*type, data=Duncan) + eff.lm <- Effect(c("income", "type"), m.lm) + regressionTest(df.lm, eff.lm) + + m.glm <- glm(volunteer ~ sex + neuroticism*extraversion, data=Cowles, family=binomial) + eff.glm <- Effect(c("neuroticism", "extraversion"), m.glm) + regressionTest(df.glm, eff.glm) + + m.mlm <- lm(cbind(post.test.1, post.test.2, post.test.3) ~ + group*(pretest.1 + pretest.2), data = Baumann) + eff.mlm <- Effect(c("group", "pretest.1"), m.mlm) + regressionTest(df.mlm, eff.mlm) + + if (require(nnet)){ + m.multinom <- multinom(vote ~ age + gender + economic.cond.national + + economic.cond.household + Blair + Hague + Kennedy + + Europe*political.knowledge, data=BEPS) + + eff.multinom <- Effect(c("Europe", "political.knowledge"), m.multinom, + xlevels=list(political.knowledge=0:3)) + regressionTest(df.multinom, eff.multinom) + } + + if (require(MASS)){ + m.polr <- polr(poverty ~ gender + religion + degree + country*poly(age,3), + data=WVS) + + eff.polr <- Effect(c("country", "age"), m.polr) + regressionTest(df.polr, eff.polr) + } + + if (require(nlme)){ + m.lme <- lme(distance ~ age*Sex, data = Orthodont, random = ~ 1) + eff.lme <- Effect(c("age", "Sex"), m.lme) + m.gls <- gls(Employed ~ GNP*Population, + correlation=corAR1(form= ~ Year), data=longley) + eff.gls <- Effect(c("GNP", "Population"), m.gls) + regressionTest(df.gls, eff.gls) + } + + if (require(lme4) && require(nlme)){ + data("Orthodont", package="nlme") + m.lmer <- lmer(distance ~ age*Sex + (1 |Subject), data = Orthodont) + eff.lmer <- Effect(c("age", "Sex"), m.lmer) + regressionTest(df.lmer, eff.lmer) + } + + if (require(lme4)){ + m.glmer <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), + data = cbpp, family = binomial) + eff.glmer <- Effect("period", m.glmer) + regressionTest(df.glmer, eff.glmer) + } + + if (require(lme4) && require(robustlmm)){ + m.rlmer <- rlmer(distance ~ age*Sex + (1 |Subject), data = Orthodont) + eff.rlmer <- Effect(c("age", "Sex"), m.rlmer) + regressionTest(df.rlmer, eff.rlmer) + } + + if (require(betareg) && require(lme4)){ + data("GasolineYield", package = "betareg") + m.betareg <- betareg(yield ~ batch*temp, data = GasolineYield) + eff.betareg <- Effect(c("batch", "temp"), m.betareg) + regressionTest(df.betareg, eff.betareg) + } + + if (require(ordinal) && require(MASS)){ + m.clm <- clm(poverty ~ gender + religion + degree + country*poly(age,3), + data=WVS) + eff.clm <- Effect(c("country", "age"), m.clm) + regressionTest(df.clm, eff.clm) + + m.clm2 <- clm2(poverty ~ gender + religion + degree + country*poly(age,3), + data=WVS) + eff.clm2 <- Effect(c("country", "age"), m.clm2) + regressionTest(df.clm2, eff.clm2) + + m.clmm <- clmm(SURENESS ~ PROD + (1|RESP) + (1|RESP:PROD), + data = soup, link = "logit", threshold = "flexible") + eff.clmm <- Effect("PROD", m.clmm) + regressionTest(df.clmm, eff.clmm) + } + + if (require(poLCA)){ + set.seed(123) + data(election, package="poLCA") + f <- cbind(MORALG,CARESG,KNOWG,LEADG,DISHONG,INTELG, + MORALB,CARESB,KNOWB,LEADB,DISHONB,INTELB)~PARTY + m.poLCA <- poLCA(f, election, nclass=3, nrep=5) + eff.poLCA <- Effect("PARTY", m.poLCA) + regressionTest(df.poLCA, eff.poLCA) + } + + if (require(survey)){ + data(api, package="survey") + dstrat <-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) + m.svyglm <- svyglm(api00~ell*meals+mobility, design=dstrat) + eff.svyglm <- Effect(c("ell", "meals"), m.svyglm) + regressionTest(df.svyglm, eff.svyglm) + } + + if(require(nlme) && require(MASS)){ + m.glmmPQL <- glmmPQL(y ~ trt*I(week > 2), random = ~ 1 | ID, + family = binomial, data = bacteria) + eff.glmmPQL <- Effect(c("trt", "week"), m.glmmPQL) + regressionTest(df.glmmPQL, eff.glmmPQL) + } + + } > > # the following commented-out code creates the comparison objects: > # > # df.betareg <- as.data.frame(eff.betareg ) > # df.clm <- as.data.frame(eff.clm) > # df.clm2 <- as.data.frame(eff.clm2) > # df.clmm <- as.data.frame(eff.clmm) > # df.glm <- as.data.frame(eff.glm) > # df.glmer <- as.data.frame(eff.glmer) > # df.gls <- as.data.frame(eff.gls) > # df.lm <- as.data.frame(eff.lm) > # df.lme <- as.data.frame(eff.lme) > # df.lmer <- as.data.frame(eff.lmer) > # df.mlm <- as.data.frame(eff.mlm) > # df.multinom <- as.data.frame(eff.multinom) > # df.poLCA <- as.data.frame(eff.poLCA) > # df.polr <- as.data.frame(eff.polr) > # df.rlmer <- as.data.frame(eff.rlmer) > # df.svyglm <- as.data.frame(eff.svyglm) > # df.glmmPQL <- as.data.frame(eff.glmmPQL) > # > # > # save(df.betareg, df.clm, df.clm2, df.clmm, df.glm, > # df.glmer, df.gls, df.lm, df.lme, df.lmer, df.mlm, > # df.multinom, df.poLCA, df.polr, df.rlmer, df.svyglm, > # df.glmmPQL, > # file="regression-tests.RData") > > # To add to regression tests first > # load("regression-tests.RData") > > proc.time() user system elapsed 0.10 0.07 0.15