Nothing
skip_on_cran()
skip_if_not_installed("datawizard")
skip_if_not_installed("curl")
skip_if_offline()
skip_if_not_installed("httr2")
out <- tryCatch(
datawizard::data_read(
"https://github.com/easystats/circus/raw/refs/heads/main/data/lcmm.rda"
),
error = function(e) NULL
)
skip_if(is.null(out))
skip_if_not_installed("lcmm")
m1 <- out$m1_linear
m2 <- out$m2_linear
m3 <- out$mx_linear
test_that("model_info", {
expect_true(model_info(m1)$is_linear)
expect_false(model_info(m3)$is_linear)
expect_true(model_info(m3)$is_multinomial)
})
test_that("find_predictors", {
expect_identical(find_predictors(m1), list(conditional = "Time"))
expect_identical(find_predictors(m2), list(conditional = "Time", mixture = "Time"))
expect_identical(find_predictors(m3), list(classmb = c("X1", "X2", "X3")))
})
test_that("find_response", {
expect_identical(find_response(m1), "Ydep2")
expect_identical(find_response(m2), "Ydep2")
expect_identical(find_response(m3), "")
})
test_that("link_inverse", {
expect_equal(link_inverse(m3)(0.2), plogis(0.2), tolerance = 1e-4)
})
test_that("loglik", {
expect_equal(get_loglikelihood(m1), m1$loglik, ignore_attr = TRUE, tolerance = 1e-3)
expect_equal(get_loglikelihood(m2), m2$loglik, ignore_attr = TRUE, tolerance = 1e-3)
expect_equal(get_loglikelihood(m3), m3$loglik, ignore_attr = TRUE, tolerance = 1e-3)
})
test_that("get_df", {
expect_equal(get_df(m1), Inf, ignore_attr = TRUE)
expect_equal(get_df(m2), Inf, ignore_attr = TRUE)
expect_equal(get_df(m3), Inf, ignore_attr = TRUE)
expect_equal(get_df(m1, type = "model"), 5, ignore_attr = TRUE)
expect_equal(get_df(m3, type = "model"), 8, ignore_attr = TRUE)
})
test_that("find_formula", {
expect_length(find_formula(m1), 2)
expect_equal(
find_formula(m1),
list(conditional = Ydep2 ~ Time + I(Time^2), random = ~Time),
ignore_attr = TRUE
)
expect_equal(
find_formula(m3),
list(classmb = ~ X1 + X2 + X3),
ignore_attr = TRUE
)
})
test_that("find_terms", {
expect_identical(
find_terms(m1),
list(response = "Ydep2", conditional = c("Time", "I(Time^2)"), random = "Time")
)
expect_identical(
find_terms(m3),
list(classmb = c("X1", "X2", "X3"))
)
})
test_that("find_variables", {
expect_identical(
find_variables(m1),
list(response = "Ydep2", conditional = "Time")
)
expect_identical(
find_variables(m3),
list(response = "", classmb = c("X1", "X2", "X3"))
)
})
test_that("find_parameters", {
expect_identical(
find_parameters(m1),
list(
linear = c("Linear 1 (intercept)", "Linear 2 (std err)"),
longitudinal = c("Time", "I(Time^2)")
)
)
expect_identical(
find_parameters(m2),
list(
linear = c("Linear 1 (intercept)", "Linear 2 (std err)"),
membership = c("intercept class1", "intercept class2"),
longitudinal = c(
"intercept class2",
"intercept class3",
"Time class1",
"Time class2",
"Time class3",
"I(Time^2) class1",
"I(Time^2) class2",
"I(Time^2) class3"
)
)
)
expect_identical(
find_parameters(m3),
list(
conditional = c(
"intercept class1",
"intercept class2",
"X1 class1",
"X1 class2",
"X2 class1",
"X2 class2",
"X3 class1",
"X3 class2"
)
)
)
})
test_that("get_parameters", {
out <- get_parameters(m1)
est <- m1$best[!startsWith(names(m1$best), "varcov ")]
expect_named(out, c("Parameter", "Estimate", "Component"))
expect_equal(out$Estimate, est, ignore_attr = TRUE, tolerance = 1e-4)
out <- get_parameters(m2)
est <- m2$best[!startsWith(names(m2$best), "varcov ")]
expect_named(out, c("Parameter", "Estimate", "Component", "Group"))
expect_equal(out$Estimate, est, ignore_attr = TRUE, tolerance = 1e-4)
out <- get_parameters(m3)
est <- m3$best[!startsWith(names(m3$best), "varcov ")]
expect_named(out, c("Parameter", "Estimate", "Group"))
expect_equal(out$Estimate, est, ignore_attr = TRUE, tolerance = 1e-4)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.