Nothing
# Test mean_group_tbl
test_that("Failure: 'data' argument", {
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = NULL,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern"
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = data.frame(),
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern"
)
})
})
test_that("Failure: Invalid 'var_stem' argument", {
ex_mean_dat <- tibble::tibble(var_1 = 1:3, `var 2` = 5:7)
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = c("belong_beoln", "identities"),
group = "_w\\d",
group_type = "pattern"
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = ex_mean_dat,
var_stem = "var",
group = "\\d$",
group_type = "pattern"
)
})
})
test_that("Failure: Invalid 'var_input' argument", {
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belong",
group = "\\d$",
group_type = "pattern",
var_input = NULL
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belong",
group = "\\d$",
group_type = "pattern",
var_input = "var_name"
)
})
})
test_that("Failure: Invalid 'group' argument", {
sample_mean_data <-
data.frame(var_1 = 1:3, var_2 = 5:7,
group = letters[1:3],
group = letters[1:3],
check.names = FALSE)
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = sample_mean_data,
var_stem = "var",
group = NULL
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belong",
group = "URMS",
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = sample_mean_data,
var_stem = "var",
group = "group"
)
})
})
test_that("Failure: Invalid 'group_type' argument", {
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belong",
group = "\\d$",
group_type = NULL
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belong",
group = "\\d$",
group_type = "patterning"
)
})
})
test_that("Failure: Invalid 'only' argument", {
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
only = character(0)
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
only = NA
)
})
})
test_that("Failure: Invalid 'na_removal' argument", {
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
na_removal = NULL
)
})
expect_snapshot(error = TRUE, {
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
na_removal = "side-wise"
)
})
})
test_that("Expected output for group pattern with specified group name", {
observed <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
group_name = "wave"
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected <-
tibble::tibble(
variable = c("belong_outsiderStem_w1", "belong_outsiderStem_w2"),
wave = c("w1", "w2"),
mean = c(2.542, 2.513),
sd = c(1.204, 1.220),
min = c(1,1),
max = c(5,5),
nobs = c(271, 271)
)
expect_equal(observed, expected)
})
test_that("Expected output for group pattern with specified group name and variable labels", {
observed <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
group_name = "wave",
var_labels = c(
belong_outsiderStem_w1 = "I feel like an outsider in STEM",
belong_outsiderStem_w2 = "I feel like an outsider in STEM"
)
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected <-
tibble::tibble(
variable = c("belong_outsiderStem_w1", "belong_outsiderStem_w2"),
variable_label = c(
"I feel like an outsider in STEM", "I feel like an outsider in STEM"
),
wave = c("w1", "w2"),
mean = c(2.542, 2.513),
sd = c(1.204, 1.220),
min = c(1,1),
max = c(5,5),
nobs = c(271, 271)
)
expect_equal(observed, expected)
})
test_that("Expected output for group pattern with specified group name and 'ignore' values", {
observed <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
group_name = "wave",
ignore = c(belong_outsiderStem = 5),
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected <-
tibble::tibble(
variable = c("belong_outsiderStem_w1", "belong_outsiderStem_w2"),
wave = c("w1", "w2"),
mean = c(2.382, 2.293),
sd = c(1.065, 1.040),
min = 1,
max = 4,
nobs = 246
)
expect_equal(observed, expected)
})
test_that("Expected output for group variable with specified group name", {
observed <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "is_male",
group_type = "variable",
group_name = "gender_male"
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected <-
tibble::tibble(
variable = rep(c("belong_outsiderStem_w1", "belong_outsiderStem_w2"), each = 2),
gender_male = rep(0:1, times = 2),
mean = c(2.961, 2.137, 2.744, 2.281),
sd = c(1.100, 1.162, 1.188, 1.204),
min = 1,
max = 5,
nobs = c(129, 139, 129, 139)
)
expect_equal(observed, expected)
})
test_that("Expected output for group pattern and remove_group_non_alnum (TRUE/FALSE) witih specified group name", {
observed1 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
group_name = "wave",
remove_group_non_alnum = FALSE
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected1 <-
tibble::tibble(
variable = c("belong_outsiderStem_w1", "belong_outsiderStem_w2"),
wave = c("_w1", "_w2"),
mean = c(2.542, 2.513),
sd = c(1.204, 1.220),
min = 1,
max = 5,
nobs = 271
)
observed2 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_outsiderStem",
group = "_w\\d",
group_type = "pattern",
group_name = "wave",
remove_group_non_alnum = TRUE
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected2 <-
tibble::tibble(
variable = c("belong_outsiderStem_w1", "belong_outsiderStem_w2"),
wave = c("w1", "w2"),
mean = c(2.542, 2.513),
sd = c(1.204, 1.220),
min = 1,
max = 5,
nobs = 271
)
expect_equal(observed1, expected1)
expect_equal(observed2, expected2)
})
test_that("Expected output with ignore_stem_case", {
observed1 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_OUTSIDERStem",
ignore_stem_case = TRUE,
group = "_w\\d",
group_type = "pattern"
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected1 <-
tibble::tibble(
variable = c("belong_outsiderStem_w1", "belong_outsiderStem_w2"),
group = c("w1", "w2"),
mean = c(2.542, 2.513),
sd = c(1.204, 1.220),
min = 1,
max = 5,
nobs = 271
)
expect_equal(observed1, expected1)
})
test_that("Expected output with ignore_group_case", {
observed1 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belongStem",
group = "IS_MALE",
group_type = "variable",
ignore_group_case = TRUE
) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected1 <-
tibble::tibble(
variable = rep(c("belong_belongStem_w1", "belong_belongStem_w2"), each = 2),
is_male = rep(0:1, times = 2),
mean = c(3.620, 4.101, 3.822, 4.094),
sd = c(1.025, 0.890, 1.004, 1.017),
min = 1,
max = 5,
nobs = c(129, 138, 129, 138)
)
expect_equal(observed1, expected1)
})
test_that("Expected output with different 'only' types", {
observed1 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belongStem",
group = "is_male",
only = c("mean", "min")
) |>
dplyr::mutate(mean = round(mean, digits = 3))
expected1 <-
tibble::tibble(
variable = rep(c("belong_belongStem_w1", "belong_belongStem_w2"), each = 2),
is_male = rep(0:1, times = 2),
mean = c(3.620, 4.101, 3.822, 4.094),
min = 1
)
observed2 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belongStem",
group = "is_male",
only = c("sd", "max")
) |>
dplyr::mutate(sd = round(sd, digits = 3))
expected2 <-
tibble::tibble(
variable = rep(c("belong_belongStem_w1", "belong_belongStem_w2"), each = 2),
is_male = rep(0:1, times = 2),
sd = c(1.025, 0.890, 1.004, 1.017),
max = 5,
)
observed3 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = "belong_belongStem",
group = "is_male",
only = c("mean", "nobs")
) |>
dplyr::mutate(mean = round(mean, digits = 3))
expected3 <-
tibble::tibble(
variable = rep(c("belong_belongStem_w1", "belong_belongStem_w2"), each = 2),
is_male = rep(0:1, times = 2),
mean = c(3.620, 4.101, 3.822, 4.094),
nobs = c(129, 138, 129, 138)
)
expect_equal(observed1, expected1)
expect_equal(observed2, expected2)
expect_equal(observed3, expected3)
})
test_that("Expected output with two variable stems where group is a variable (listwise deletion)", {
observed1 <-
mean_group_tbl(
data = stem_social_psych,
var_stem = c("belong_belong", "identity_identityStem"),
group = "urm",
only = c("mean", "sd")) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected1 <-
tibble::tibble(
variable = c(rep(c("belong_belongStem_w1", "belong_belongStem_w2"), each = 2),
rep(c("identity_identityStem_w1", "identity_identityStem_w2"),
each = 2)),
urm = rep(0:1, times = 4),
mean = c(3.862, 3.888, 3.952, 3.987,
3.601, 3.438, 3.686, 3.4),
sd = c(0.966, 1.031, 0.993, 1.073,
1.072, 1.157, 1.030, 1.228),
)
expect_equal(observed1, expected1)
})
test_that("Expected output with two variable names where group is a variable (listwise deletion)", {
observed1 <-
mean_group_tbl(
data = social_psy_data,
var_stem = c("belong_1", "identity_4"),
var_input = "name",
group = "citizen",
only = c("mean", "sd")) |>
dplyr::mutate(
dplyr::across(
.cols = dplyr::all_of(c("mean", "sd")),
.fns = ~ round(., digits = 3)
)
)
expected1 <-
tibble::tibble(
variable = rep(c("belong_1", "identity_4"), each = 4),
citizen = rep(1:4, times = 2),
mean = c(3.846, 3.763, 3.820, 3.639, 2.688,
2.782, 2.765, 3.082),
sd = c(1.107, 0.968, 1.001, 1.2, 1.138,
1.121, 1.140, 1.167)
)
expect_equal(observed1, expected1)
})
test_that("Expected output with 'ignore' values set, group is variable, and multiple stems", {
observed <-
mean_group_tbl(
data = stem_social_psych,
var_stem = c("belong_belong", "selfEfficacy_passStemCourses"),
group = "urm",
ignore = c(belong_belong = 1, selfEfficacy_passStemCourses = 5,
urm = 0),
na_removal = "pairwise",
only = c("mean","min", "max")
) |>
dplyr::mutate(mean = round(mean, digits = 3))
expected <-
tibble::tibble(
variable = c("belong_belongStem_w1", "belong_belongStem_w2",
"selfEfficacy_passStemCourses_w1",
"selfEfficacy_passStemCourses_w2"),
urm = 1,
mean = c(4.061, 4.190, 3.635, 3.784),
min = c(2,2,1,3),
max = c(5,5,4,4)
)
expect_equal(observed, expected)
})
test_that("Expected output with 'ignore' values set, group is pattern, group_name is set, and multiple names", {
observed <-
mean_group_tbl(
data = social_psy_data,
var_stem = c("identity_3", "belong_1", "selfEfficacy_5"),
var_input = "name",
group = "_\\d",
group_type = "pattern",
group_name = "item_no",
ignore = c(identity_3 = 5, selfEfficacy_5 = 1),
na_removal = "pairwise",
only = c("mean")
) |>
dplyr::mutate(mean = round(mean, digits = 3))
expected <-
tibble::tibble(
variable = c("identity_3","belong_1", "selfEfficacy_5"),
item_no = c("3", "1", "5"),
mean = c(3.759, 3.827, 3.672)
)
expect_equal(observed, expected)
})
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.