# center_variable() -------------------------------------------------------
test_that("center_variable() error handling works", {
chr <- letters
nmr <- 1:10
expect_error(
center_variable(chr),
"`variable` must be numeric; not character.",
class = "error_argument_type"
)
expect_error(
center_variable(nmr, by = chr),
"`by` must be factor; not character.",
class = "error_argument_type"
)
expect_error(
center_variable(nmr, scale = chr),
"`scale` must be logical; not character.",
class = "error_argument_type"
)
})
test_that("center_variable() by grand mean works", {
var <- 1:5
out <- center_variable(var)
expect_equal(out, c(- 2, - 1, 0, 1, 2))
})
test_that("center_variable() by group means works", {
df <- data.frame(
var = c(1:5, 11:15),
group = as.factor(rep(c("A", "B"), each = 5))
)
out <- center_variable(df$var, by = df$group)
expect_equal(out, rep(c(- 2, - 1, 0, 1, 2), 2))
})
test_that("scaling works", {
var <- 1:5
out <- center_variable(var, scale = TRUE)
out <- sd(out)
expect_equal(out, 1)
})
# is_outlier() ------------------------------------------------------------
test_that("is_outlier() error handling works", {
chr <- letters[1:10]
lgc <- rep(c(TRUE, FALSE), 5)
expect_error(
is_outlier(chr),
"`x` must be numeric; not character.",
class = "error_argument_type"
)
expect_error(
is_outlier(lgc),
"`x` must be numeric; not logical.",
class = "error_argument_type"
)
})
test_that("is_outlier() works", {
x <- c(1, 20:25, NA, 100)
out <- is_outlier(x, na.rm = TRUE)
expect_equal(out, c(TRUE, rep(FALSE, 6), NA, TRUE))
expect_error(is_outlier(x))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.