Nothing
test_that("Overlapping names don't result in an error", {
penguins2 <- penguins
names(penguins2)[3:5] <- c("ca", "p", "gender_cat")
#Model with the iris dataset variables renamed to show the problem
m2 <- lm(body_mass_g ~ p*gender_cat + ca, penguins2)
expect_snapshot_output(
extract_eq(m2, wrap = TRUE, terms_per_line = 1,
use_coefs = TRUE)
)
})
test_that("Dropping intercept notation works", {
m <- lm(bill_depth_mm ~ 0 + flipper_length_mm*island, penguins)
expect_snapshot_output(extract_eq(m))
})
test_that("colorizing works", {
m <- lm(bill_depth_mm ~ flipper_length_mm*island, penguins)
coef_colors <- c("#1B9E77", "#D95F02", "#7570B3", "#E7298A", "#66A61E",
"#E6AB02", "#A6761D")
ss_colors <- rev(coef_colors)
expect_snapshot_output(
extract_eq(
m,
swap_var_names = c("flipper_length_mm" = "Flipper Length (MM)",
"island" = "ISLAND"),
swap_subscript_names = c("Dream" = "super dreamy"),
greek_colors = coef_colors,
subscript_colors = ss_colors,
var_colors = c(
"bill_depth_mm" = "#0f70f7",
"flipper_length_mm" = "#b22222",
"island" = "green"
),
var_subscript_colors = c("island" = "cyan"),
wrap = 2,
terms_per_line = 2
)
)
})
test_that("Renaming Variables works", {
m1 <- lm(body_mass_g ~ bill_length_mm * species +
flipper_length_mm * sex,
data = penguins)
expect_snapshot_output(
extract_eq(
m1,
swap_var_names = c(
"bill_length_mm" = "Bill Length (MM)",
"flipper_length_mm" = "Flipper Length (MM)",
"sex" = "SEX"
),
swap_subscript_names = c(
"male" = "Male",
"Chinstrap" = "chinny chin chin"
)
)
)
})
test_that("Math extraction works", {
m_lm <- lm(bill_length_mm ~ poly(bill_depth_mm, 5) +
log(flipper_length_mm) +
exp(bill_length_mm),
data = na.omit(penguins))
expect_snapshot_output(extract_eq(m_lm))
m1 <- lm(mpg ~ I(hp > 150), data = mtcars)
m2 <- lm(mpg ~ I(hp < 250), data = mtcars)
expect_snapshot_output(extract_eq(m1))
expect_snapshot_output(extract_eq(m2))
})
test_that("Collapsing lm factors works", {
d <- mtcars
d$gear <- as.factor(d$gear)
d$carb <- as.factor(d$carb)
m <- lm(mpg ~ gear*carb*disp, data = d)
# no collapsing
expect_snapshot(extract_eq(m))
# collapsing
expect_snapshot(extract_eq(m, index_factors = TRUE))
})
test_that("Labeling works", {
m <- lm(mpg ~ cyl + disp, data = mtcars)
expect_snapshot_output(extract_eq(m, label = "mpg_mod"))
})
test_that("Simple lm models work", {
model_simple <- lm(mpg ~ cyl + disp, data = mtcars)
mtcars$gear <- as.factor(mtcars$gear)
model_indicators <- lm(mpg ~ cyl + gear, data = mtcars)
# basic equation builds correctly
expect_snapshot_output(extract_eq(model_simple))
# categorical subscripts work
expect_snapshot_output(extract_eq(model_indicators))
# basic equation + coefs builds correctly
expect_snapshot_output(extract_eq(model_simple, use_coefs = TRUE))
})
test_that("Interactions work", {
simple_int <- lm(body_mass_g ~ bill_length_mm * species, penguins)
simple_int2 <- lm(mpg ~ hp * wt, mtcars)
# Basic interaction with subscripts
expect_snapshot_output(extract_eq(simple_int))
# Basic interaction with no subscripts
expect_snapshot_output(extract_eq(simple_int2))
})
test_that("Custom Greek works", {
model_simple <- lm(mpg ~ cyl + disp, data = mtcars)
# custom Greek coefficients work
expect_snapshot_output(
extract_eq(model_simple, greek = "\\hat{\\beta}", raw_tex = TRUE)
)
# custom Greek intercept works
expect_snapshot_output(
extract_eq(model_simple,
intercept = "\\zeta",
greek = "\\beta",
raw_tex = TRUE
)
)
})
test_that("Hat is escaped correctly", {
mtcars$carb <- ordered(mtcars$carb)
m <- lm(mpg ~ carb, mtcars)
expect_snapshot_output(extract_eq(m))
})
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.