Nothing
test_that("brm_data() response", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
for (field in c("group", "time", "patient")) {
data[[field]] <- gsub("_", " ", data[[field]])
}
data$group <- as.factor(data$group)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
data$col_missing <- FALSE
out <- brm_data(
data = data,
outcome = "col_response",
group = "col_group",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group 1",
reference_time = "time 1",
missing = "col_missing"
)
expect_s3_class(out, "brms_mmrm_data")
expect_true(tibble::is_tibble(out))
expect_silent(brm_data_validate(out))
expect_true(all(is.na(out$col_response[c(2L, 3L)])))
expect_false(anyNA(out$col_response[- c(2L, 3L)]))
expect_equal(nrow(out), 800L)
expect_equal(
sort(colnames(out)),
sort(
c(
"col_patient",
"col_time",
"col_response",
"col_group",
"col_factor1",
"col_factor2",
"col_factor3",
"col_missing"
)
)
)
expect_equal(
out$col_group,
as.factor(rep(paste("group", c(1L, 2L)), each = 400L))
)
expect_equal(
out$col_time,
rep(paste("time", seq_len(4L)), times = 200L)
)
expect_equal(
sort(out$col_response[- c(2L, 3L)]),
sort(c(data$col_response))
)
expect_equal(out$col_patient, out$col_factor2)
expect_equal(out$col_patient, out$col_factor3)
expect_equal(attr(out, "brm_outcome"), "col_response")
expect_equal(attr(out, "brm_group"), "col_group")
expect_null(attr(out, "brm_subgroup"))
expect_equal(attr(out, "brm_time"), "col_time")
expect_equal(attr(out, "brm_patient"), "col_patient")
expect_equal(attr(out, "brm_covariates"), c("col_factor2", "col_factor3"))
expect_equal(attr(out, "brm_missing"), "col_missing")
expect_equal(attr(out, "brm_reference_group"), "group 1")
expect_equal(attr(out, "brm_reference_time"), "time 1")
expect_false(brm_data_has_subgroup(out))
})
test_that("brm_data() response with subgroup", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
data <- tidyr::expand_grid(data, subgroup = c("subgroup 1", "subgroup 2"))
data$patient <- paste(data$patient, data$subgroup)
for (field in c("group", "subgroup", "time", "patient")) {
data[[field]] <- gsub("_", " ", data[[field]])
}
data$group <- as.factor(data$group)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
slice_missing <- dplyr::arrange(data[c(2L, 3L), ], col_time)
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
data$col_missing <- FALSE
expect_error(
brm_data(
data = data,
outcome = "col_response",
group = "col_group",
subgroup = "col_subgroup",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group 1",
reference_time = "time 1",
missing = "col_missing"
),
class = "brm_error"
)
out <- brm_data(
data = data,
outcome = "col_response",
group = "col_group",
subgroup = "col_subgroup",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group 1",
reference_subgroup = "subgroup 1",
reference_time = "time 1",
missing = "col_missing"
)
expect_s3_class(out, "brms_mmrm_data")
expect_true(tibble::is_tibble(out))
expect_silent(brm_data_validate(out))
slice_filled <- dplyr::arrange(out[is.na(out$col_response), ], col_time)
expect_equal(nrow(slice_filled), 2L)
fields <- c(
c(
"col_group",
"col_subgroup",
"col_time",
"col_patient",
paste0("col_factor", seq_len(3L))
)
)
for (field in c("col_group", "col_subgroup", "col_time", "col_patient")) {
slice_missing[[field]] <- gsub(
pattern = " ",
replacement = "_",
as.character(slice_missing[[field]])
)
for (pattern in c(".", " ")) {
slice_filled[[field]] <- gsub(
pattern = pattern,
replacement = "_",
as.character(slice_filled[[field]]),
fixed = TRUE
)
}
expect_equal(slice_missing[[field]], slice_filled[[field]])
}
expect_equal(slice_filled$col_missing, c(FALSE, FALSE))
expect_equal(nrow(out), 1600L)
expect_equal(
sort(colnames(out)),
sort(
c(
"col_patient",
"col_time",
"col_response",
"col_group",
"col_subgroup",
"col_factor1",
"col_factor2",
"col_factor3",
"col_missing"
)
)
)
expect_equal(
out$col_group,
as.factor(rep(paste("group", c(1L, 2L)), each = 800L))
)
expect_equal(
out$col_subgroup,
rep(paste("subgroup", c(1L, 2L, 1L, 2L)), each = 400L)
)
expect_equal(
out$col_time,
rep(paste("time", seq_len(4L)), times = 400L)
)
expect_equal(out$col_patient, out$col_factor2)
expect_equal(out$col_patient, out$col_factor3)
expect_equal(attr(out, "brm_outcome"), "col_response")
expect_equal(attr(out, "brm_group"), "col_group")
expect_equal(attr(out, "brm_subgroup"), "col_subgroup")
expect_equal(attr(out, "brm_time"), "col_time")
expect_equal(attr(out, "brm_patient"), "col_patient")
expect_equal(attr(out, "brm_covariates"), c("col_factor2", "col_factor3"))
expect_equal(attr(out, "brm_missing"), "col_missing")
expect_equal(attr(out, "brm_reference_group"), "group 1")
expect_equal(attr(out, "brm_reference_subgroup"), "subgroup 1")
expect_equal(attr(out, "brm_reference_time"), "time 1")
expect_true(brm_data_has_subgroup(out))
})
test_that("brm_data() change", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
for (field in c("group", "time", "patient")) {
data[[field]] <- gsub("_", " ", data[[field]])
}
data$group <- as.factor(data$group)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
out <- brm_data(
data = data,
outcome = "col_response",
group = "col_group",
time = "col_time",
patient = "col_patient",
covariates = character(0L),
reference_group = "group 1"
)
expect_s3_class(out, "brms_mmrm_data")
expect_true(tibble::is_tibble(out))
expect_silent(brm_data_validate(out))
expect_true(all(is.na(out$col_response[c(2L, 3L)])))
expect_false(anyNA(out$col_response[- c(2L, 3L)]))
expect_equal(nrow(out), 800L)
expect_equal(
sort(colnames(out)),
sort(
c(
"col_patient",
"col_time",
"col_response",
"col_group",
"col_factor1",
"col_factor2",
"col_factor3"
)
)
)
expect_equal(
out$col_group,
as.factor(rep(paste("group", c(1L, 2L)), each = 400L))
)
expect_equal(
out$col_time,
rep(paste("time", seq_len(4L)), times = 200L)
)
expect_equal(
sort(out$col_response[- c(2L, 3L)]),
sort(c(data$col_response))
)
expect_equal(attr(out, "brm_outcome"), "col_response")
expect_equal(attr(out, "brm_group"), "col_group")
expect_equal(attr(out, "brm_time"), "col_time")
expect_equal(attr(out, "brm_patient"), "col_patient")
expect_equal(attr(out, "brm_covariates"), character(0L))
expect_null(attr(out, "brm_missing"))
expect_equal(attr(out, "brm_reference_group"), "group 1")
expect_null(attr(out, "brm_reference_time"))
})
test_that("brm_data() bad reference_time", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
expect_error(
brm_data(
data = data,
outcome = "col_response",
group = "col_group",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group_1",
reference_time = "time_nope"
),
class = "brm_error"
)
expect_silent(
brm_data(
data = data,
outcome = "col_response",
group = "col_group",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group_1",
reference_time = "time_1"
)
)
})
test_that("brm_data() bad group", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
expect_error(
brm_data(
data = data,
outcome = "col_response",
group = "nope",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group 1",
reference_time = "time 1"
),
class = "brm_error"
)
})
test_that("brm_data() levels", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
expect_error(
brm_data(
data = data,
outcome = "col_response",
group = "nope",
time = "col_time",
patient = "col_patient",
reference_group = "group 1",
covariates = c("col_factor2", "col_factor3")
),
class = "brm_error"
)
})
test_that("brm_levels()", {
expect_equal(brm_levels(c(3L, 2L, 1L, 2L, 3L)), c(1L, 2L, 3L))
x <- ordered(rep(c("a", "c", "b"), times = 2), levels = c("c", "b", "a"))
expect_equal(brm_levels(x), c("c", "b", "a"))
expect_equal(
brm_levels(ordered(c("x", "y"), levels = c("z", "y", "x"))),
c("y", "x")
)
})
test_that("brm_data() deprecate level_control", {
set.seed(0)
expect_warning(
brm_data(
data = brm_simulate_simple()$data,
outcome = "response",
group = "group",
time = "time",
patient = "patient",
level_control = "group_1",
reference_time = "time_1"
),
class = "brm_deprecate"
)
})
test_that("brm_data() deprecate level_baseline", {
set.seed(0)
expect_warning(
brm_data(
data = brm_simulate_simple()$data,
outcome = "response",
group = "group",
time = "time",
patient = "patient",
reference_group = "group_1",
level_baseline = "time_1"
),
class = "brm_deprecate"
)
})
test_that("brm_data() on bad object", {
expect_error(brm_data_fill("Swiss cheese"), class = "brm_error")
})
test_that("brm_data() ordered factor contrasts", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
data$time <- ordered(data$time)
out <- brm_data(
data = data,
outcome = "response",
group = "group",
time = "time",
patient = "patient",
reference_group = "group_1",
reference_time = "time_1"
)
expect_equal(
sort(colnames(model.matrix(~ time, data = out))),
sort(c("(Intercept)", "time2", "time3", "time4"))
)
})
test_that("deprecate role argument", {
set.seed(0)
sim <- brm_simulate_simple()
data <- tibble::as_tibble(sim$data)
for (field in c("group", "time", "patient")) {
data[[field]] <- gsub("_", " ", data[[field]])
}
data$group <- as.factor(data$group)
data$factor1 <- data$patient
data$factor2 <- data$patient
data$factor3 <- data$patient
colnames(data) <- paste0("col_", colnames(data))
data <- data[- c(2L, 3L), ]
data <- data[sample.int(n = nrow(data)), ]
data$col_missing <- FALSE
expect_warning(
out <- brm_data(
data = data,
outcome = "col_response",
role = "response",
group = "col_group",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group 1",
reference_time = "time 1",
missing = "col_missing"
),
class = "brm_deprecate"
)
expect_silent(
out <- brm_data(
data = data,
outcome = "col_response",
group = "col_group",
time = "col_time",
patient = "col_patient",
covariates = c("col_factor2", "col_factor3"),
reference_group = "group 1",
reference_time = "time 1",
missing = "col_missing"
)
)
})
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.