context("mlogit") skip_on_cran() skip_if_not_installed("modeltests") library(modeltests) skip_if_not_installed("mlogit") skip_if_not_installed("AER") library(mlogit) library(AER) library(dplyr) data("Fishing", package = "mlogit") Fish <- dfidx(Fishing, varying = 2:9, shape = "wide", choice = "mode") fit1 <- mlogit(mode ~ price + catch, data = Fish) data("TravelMode", package = "AER") fit2 <- mlogit(choice ~ wait + travel + vcost, TravelMode, heterosc = TRUE) test_that("mlogit tidier arguments", { check_arguments(tidy.mlogit) check_arguments(glance.mlogit) check_arguments(augment.mlogit, strict = FALSE) }) test_that("tidy.mlogit", { td1 <- tidy(fit1) td2 <- tidy(fit1, conf.int = TRUE) td3 <- tidy(fit2) td4 <- tidy(fit2, conf.int = TRUE) check_tidy_output(td1) check_tidy_output(td2) check_tidy_output(td3) check_tidy_output(td4) }) test_that("glance.mlogit", { gl1 <- glance(fit1) gl2 <- glance(fit2) check_glance_outputs(gl1) check_glance_outputs(gl2) }) test_that("augment.mlogit", { check_augment_function( aug = augment.mlogit, model = fit1, data = Fish, newdata = Fish, strict = FALSE ) au1 <- augment(fit1) au2 <- augment(fit2) expect_true(all(c("id", "alternative", "chosen", ".resid", ".fitted") %in% names(au1))) expect_true(all(c("id", "alternative", "chosen", ".resid", ".fitted") %in% names(au2))) })