Nothing
###############################################################################
# Suppressing some functions messages because they only output the information
# on how much time they took.
###############################################################################
dummy_df <- suppressMessages(dummy_data(1000))
test_that("if. can convert values conditionally", {
test_df <- dummy_df |>
if.(age < 18, age_group = "under 18") |>
else_if.(age >= 18 & age < 65, age_group = "18 to under 65") |>
else. ( age_group = "65 and older")
expect_true("age_group" %in% names(test_df))
expect_true(all(c("under 18", "18 to under 65", "65 and older") %in% test_df[["age_group"]]))
})
test_that("else_if. doesn't work without if.", {
test_df <- dummy_df |>
else_if.(age >= 18 & age < 65, age_group = "18 to under 65") |>
else. ( age_group = "65 and older")
expect_true(!"age_group" %in% names(test_df))
})
test_that("else. doesn't work without if.", {
test_df <- dummy_df |>
else.(age_group = "65 and older")
expect_true(!"age_group" %in% names(test_df))
})
test_that("else_if. only alters NA values conditionally", {
test_df1 <- dummy_df |>
if.(age >= 18 & age < 65, age_group = "under 18") |>
else_if.(age >= 18 & age < 65, age_group = "18 to under 65")
test_df2 <- dummy_df |>
if.(age < 0, age_group = "under 18") |>
else_if.(age >= 18 & age < 65, age_group = "18 to under 65")
expect_true("age_group" %in% names(test_df1))
expect_true("age_group" %in% names(test_df2))
expect_true(!"18 to under 65" %in% test_df1[["age_group"]])
expect_true(!"under 18" %in% test_df2[["age_group"]])
expect_true(NA %in% test_df2[["age_group"]])
})
test_that("else. only alters every other NA value", {
test_df1 <- dummy_df |>
collapse::fsubset(!is.na(age)) |>
if.(age < 101, age_group = "under 100") |>
else.( age_group = "100 and older")
test_df2 <- dummy_df |>
collapse::fsubset(!is.na(age)) |>
if.(age < 0, age_group = "under 18") |>
else.( age_group = "18 and older")
expect_true("age_group" %in% names(test_df1))
expect_true("age_group" %in% names(test_df2))
expect_true(!"100 and older" %in% test_df1[["age_group"]])
expect_true(!NA %in% test_df2[["age_group"]])
})
test_that("if. and else_if. are not the same", {
state_df <- dummy_df |>
if.(state == 1, state_a = "State 1") |>
else_if.(state < 11, state_a = "West") |>
else. ( state_a = "East")
state_df <- dummy_df |>
if.(state == 1, state_b = "State 1") |>
if.(state < 11, state_b = "West") |>
else.( state_b = "East")
expect_false(identical(state_df[["state_a"]], state_df[["state_b"]]))
})
test_that("Type conversion in if. block on type mismatch", {
expect_message(test_df1 <- dummy_df |>
if.(age < 18, age_group = "under 18") |>
else_if.(age >= 18 & age < 65, age_group = 1) |>
else. ( age_group = "65 and older"), " ! WARNING: Type mismatch")
expect_message(test_df2 <- dummy_df |>
if.(age < 18, age_group = 1) |>
else_if.(age >= 18 & age < 65, age_group = "18 to under 65") |>
else. ( age_group = 2), " ! WARNING: Type mismatch")
})
###############################################################################
# if. for subsetting
###############################################################################
test_that("Subset data frame with if.", {
test_df <- dummy_df |> if.(sex == 1)
expect_true(nrow(test_df) < nrow(dummy_df))
expect_true(!2 %in% test_df[["sex"]])
})
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.