diff --git a/R/condense.R b/R/condense.R index dd2bda0..b5ca1da 100644 --- a/R/condense.R +++ b/R/condense.R @@ -10,7 +10,8 @@ setMethod( signature = "CompositionMatrix", definition = function(x, by, verbose = FALSE, ...) { x <- group(x, by = by) - methods::callGeneric(x = x, verbose = verbose, ...) + y <- methods::callGeneric(x = x, verbose = verbose, ...) + ungroup(y) } ) diff --git a/inst/tinytest/_snaps/condense.rds b/inst/tinytest/_snaps/condense.rds index 615f982..bbfa236 100644 Binary files a/inst/tinytest/_snaps/condense.rds and b/inst/tinytest/_snaps/condense.rds differ diff --git a/inst/tinytest/test_condense.R b/inst/tinytest/test_condense.R index 694b0eb..9a9c082 100644 --- a/inst/tinytest/test_condense.R +++ b/inst/tinytest/test_condense.R @@ -1,12 +1,21 @@ data("slides") -coda <- as_composition(slides, groups = 2) +coda <- as_composition(slides) -## Compositional mean by sample +## Ungrouped +flat <- condense(coda, by = slides$analyst) +expect_false(is_grouped(flat)) +expect_identical(rownames(flat), paste0("A", 1:5)) + +## Compositional mean by group +coda <- group(coda, by = slides$analyst) flat <- condense(coda) -expect_equal_to_reference(as.data.frame(flat), file = "_snaps/condense.rds") +expect_identical(group_names(flat), paste0("A", 1:5)) ## Override groups -flat <- condense(coda, by = slides$analyst) +flat <- condense(coda, by = slides$slide) +expect_identical(rownames(flat), c("A", "B", "C", "D", "E")) +expect_identical(group_names(flat), rep(paste0("A", 1:5, collapse = ":"), 5)) +expect_equal_to_reference(as.data.frame(flat), file = "_snaps/condense.rds") ## With zeros X1 <- data.frame(