# weights are used but not returned test_that("`stat_stratum` weights computed variables but drops weight", { data <- data.frame(x = rep(1:2, c(2, 3)), stratum = LETTERS[c(1, 2, 1, 2, 2)]) data$y <- c(1, 1, 1, 1, 2) data$weight <- c(.5, 1, .5, 1, 1.5) comp <- StatStratum$compute_panel(data) comp <- comp[with(comp, order(x, stratum)), ] expect_equivalent(comp$n, c(0.5, 1, 0.5, 2.5)) expect_equivalent(comp$count, c(0.5, 1, 0.5, 4)) expect_equivalent(comp$prop, c(c(1, 2) / 3, c(1, 8) / 9)) expect_null(comp$lode) expect_null(comp$weight) }) # reverse and absolute parameters, negative values test_that("`stat_stratum` orders strata correctly with negative values", { data <- expand.grid(stratum = LETTERS[1:2], x = 1:2) data$y <- c(1, 1, -1, -1) # order by stratum, `reverse = TRUE` #ggplot(data, aes(x = x, stratum = stratum, y = y)) + # geom_stratum() + # geom_text(stat = "stratum", aes(label = stratum)) comp <- StatStratum$compute_panel(data) expect_identical(comp[with(comp, order(x, stratum)), ]$y, c(1.5, 0.5, -1.5, -0.5)) # order by stratum, `reverse = FALSE` #ggplot(data, aes(x = x, stratum = stratum, y = y)) + # geom_stratum(reverse = FALSE) + # geom_text(stat = "stratum", aes(label = stratum), reverse = FALSE) comp <- StatStratum$compute_panel(data, reverse = FALSE) expect_identical(comp[with(comp, order(x, stratum)), ]$y, c(0.5, 1.5, -0.5, -1.5)) # order by stratum, `absolute = FALSE` #ggplot(data, aes(x = x, stratum = stratum, y = y)) + # geom_stratum(absolute = FALSE) + # geom_text(stat = "stratum", aes(label = stratum), absolute = FALSE) comp <- StatStratum$compute_panel(data, absolute = FALSE) expect_identical(comp[with(comp, order(x, stratum)), ]$y, c(1.5, 0.5, -0.5, -1.5)) # order by stratum, `reverse = FALSE, absolute = FALSE` #ggplot(data, aes(x = x, stratum = stratum, y = y)) + # geom_stratum(reverse = FALSE, absolute = FALSE) + # geom_text(stat = "stratum", aes(label = stratum), # reverse = FALSE, absolute = FALSE) comp <- StatStratum$compute_panel(data, reverse = FALSE, absolute = FALSE) expect_identical(comp[with(comp, order(x, stratum)), ]$y, c(0.5, 1.5, -1.5, -0.5)) })