test_that("spatial works", {
data(survey, package = "MASS")
set.seed(21892)
nas <- c(137, 70)
index <- design(survey[-nas, c("Sex", "Smoke", "Age")], size_subset = 50,
iterations = 25)
index2 <- spatial(index, survey[-nas, c("Sex", "Smoke", "Age")],
rows = LETTERS[1:9],
columns = 1:12, iterations = 25)
expect_lte(length(index2), 9*12)
expect_true(all(names(index2) %in% position_name(rows = LETTERS[1:9], 1:12)$name))
expect_false(any(table(batch_names(index), batch_names(index2)) > 1))
})
test_that("spatial works with replicates", {
data(survey, package = "MASS")
set.seed(4568)
nas <- c(137, 70)
index <- replicates(survey[-nas, c("Sex", "Smoke", "Age")], size_subset = 50,
iterations = 25, controls = 15)
index2 <- spatial(index, survey[-nas, c("Sex", "Smoke", "Age")], iterations = 25)
expect_lte(length(index2), 50)
expect_false(any(is.na(unlist(index2))))
expect_true(all(names(index2) %in% position_name(rows = LETTERS[1:5], 1:10)$name))
expect_true(all(sort(unlist(index2)) == seq_len(325)))
})
test_that("spatial don't duplicate samples", {
data(survey, package = "MASS")
set.seed(4568)
nas <- c(137, 70)
index <- create_subset(NROW(survey[-nas, ]), size_subset = 50)
index2 <- spatial(index, survey[-nas, c("Sex", "Smoke", "Age")], iterations = 25)
uniqueness <- vapply(index2, function(x){length(unique(x)) == length(x)},
FUN.VALUE = logical(1L))
# Avoid placing the a sample twice in a position
expect_false(any(!uniqueness))
# Avoid placing a sample in the same well in the same subset
expect_false(any(table(batch_names(index), batch_names(index2)) > 1))
})
test_that("Removing rows works", {
data(survey, package = "MASS")
set.seed(21829)
nas <- c(137, 70)
index <- design(survey[-nas, c("Sex", "Smoke", "Age")], size_subset = 50,
iterations = 25)
index2 <- spatial(index, survey[-nas, c("Sex", "Smoke", "Age")],
rows = LETTERS[1:9], remove_positions = "B",
columns = 1:12, iterations = 25)
expect_lte(length(index2), 9*12)
expect_true(all(names(index2) %in% position_name(rows = LETTERS[1:9], 1:12)$name))
expect_false(any(table(batch_names(index), batch_names(index2)) > 1))
})
test_that("Removing columns works", {
data(survey, package = "MASS")
set.seed(21289)
nas <- c(137, 70)
index <- design(survey[-nas, c("Sex", "Smoke", "Age")], size_subset = 50,
iterations = 25)
index2 <- spatial(index, survey[-nas, c("Sex", "Smoke", "Age")],
rows = LETTERS[1:9], remove_positions = "A",
columns = 1:12, iterations = 25)
expect_lte(length(index2), 9*12)
expect_true(all(names(index2) %in% position_name(rows = LETTERS[1:9], 1:12)$name))
expect_false(any(table(batch_names(index), batch_names(index2)) > 1))
})
test_that("position_name works", {
expect_error(position_name(1:2, 1:2))
pn <- position_name(LETTERS[1:2], 1:2)
expect_s3_class(pn, "data.frame")
expect_equal(pn$row, rep(LETTERS[1:2], each = 2))
expect_equal(pn$column, rep(1:2, length.out = 4))
expect_equal(pn$name, as.factor(paste0(rep(LETTERS[1:2], each = 2), rep(1:2, length.out = 4))))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.