From 7b8a957c63a6447fcb48313356a089f22f120afb Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 7 Mar 2026 21:54:41 -0500 Subject: [PATCH 01/31] Added links, @seealso tags to documentation for as_* functions. --- R/as_array.R | 5 ++++- R/as_caseform.R | 10 +++++++--- R/as_freqform.R | 5 ++++- R/as_table.R | 3 +++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/R/as_array.R b/R/as_array.R index 09481c1..9342324 100644 --- a/R/as_array.R +++ b/R/as_array.R @@ -10,10 +10,13 @@ #' @return object in array form #' #' @details -#' Unclasses the \code{as_table()} function to return an object in array form. +#' Unclasses the \code{\link{as_table()}} function to return an object in array form. #' #' @author Gavin M. Klorfine #' +#' @seealso +#' \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}} +#' #' @examples #' library(vcdExtra) #' diff --git a/R/as_caseform.R b/R/as_caseform.R index a9344a2..6884008 100644 --- a/R/as_caseform.R +++ b/R/as_caseform.R @@ -11,14 +11,18 @@ #' @return object in case form. #' #' @details -#' A wrapper for \code{expand.dft()} that is able to handle arrays. +#' A wrapper for \code{\link{expand.dft()}} that is able to handle arrays. #' #' If a frequency column is not supplied, this function defaults to "Freq" -#' just like \code{expand.dft()}. Converts `obj` to a table using -#' \code{as_table()} before converting to case form. +#' just like \code{\link{expand.dft()}}. Converts `obj` to a table using +#' \code{\link{as_table()}} before converting to case form. #' #' @author Gavin M. Klorfine #' +#' @seealso +#' \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}}, +#' \code{\link{expand.dft}} +#' #' @importFrom dplyr as_tibble #' #' @examples diff --git a/R/as_freqform.R b/R/as_freqform.R index a944961..02a80f0 100644 --- a/R/as_freqform.R +++ b/R/as_freqform.R @@ -13,11 +13,14 @@ #' @return object in frequency form. #' #' @details -#' Converts `obj` to a table using \code{as_table()} before converting to +#' Converts `obj` to a table using \code{\link{as_table()}} before converting to #' frequency form #' #' @author Gavin M. Klorfine #' +#' @seealso +#' \code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}} +#' #' @importFrom dplyr as_tibble #' #' @examples diff --git a/R/as_table.R b/R/as_table.R index 369adaf..6cfc26a 100644 --- a/R/as_table.R +++ b/R/as_table.R @@ -20,6 +20,9 @@ #' #' @author Gavin M. Klorfine #' +#' @seealso +#' \code{\link{as_freqform}}, \code{\link{as_caseform}}, \code{\link{as_array}} +#' #' @importFrom stats reformulate xtabs #' @importFrom methods is #' From d2526c78093c178774048d55efc4e1c3bbdeeaea Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 7 Mar 2026 23:13:14 -0500 Subject: [PATCH 02/31] Added unit tests for as_array, as_caseform, as_freqform. --- tests/testthat/test-as_array.R | 37 +++++++++++++++++++++++++++++++ tests/testthat/test-as_caseform.R | 17 ++++++++++++++ tests/testthat/test-as_freqform.R | 37 +++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 tests/testthat/test-as_array.R create mode 100644 tests/testthat/test-as_caseform.R create mode 100644 tests/testthat/test-as_freqform.R diff --git a/tests/testthat/test-as_array.R b/tests/testthat/test-as_array.R new file mode 100644 index 0000000..67f1475 --- /dev/null +++ b/tests/testthat/test-as_array.R @@ -0,0 +1,37 @@ +data("HairEyeColor") + +arrayDat <- unclass(HairEyeColor) # Generate array form data +freqForm <- as.data.frame(HairEyeColor) # Generate frequency form data +tidy_freqForm <- dplyr::as_tibble(HairEyeColor) # Generate tidy frequency form data +caseForm <- expand.dft(freqForm) # Generate case form data + +test_that("Array form input returns an array", { + ary <- as_array(arrayDat) + expect_true(is.array(ary)) +}) + +test_that("Table form input returns an array", { + ary <- as_array(HairEyeColor) + expect_true(is.array(ary)) +}) + +test_that("Tibble frequency form input returns an array", { + ary <- as_array(tidy_freqForm, freq = "n") + expect_true(is.array(ary)) +}) + +test_that("Frequency form input returns an array", { + ary <- as_array(freqForm, freq = "Freq") + expect_true(is.array(ary)) +}) + +test_that("Case form input returns an array", { + ary <- as_array(caseForm) + expect_true(is.array(ary)) +}) + +test_that("Check if input was modified", { + ary <- sum(as_array(HairEyeColor)) + expect_equal(ary, sum(HairEyeColor)) +}) + diff --git a/tests/testthat/test-as_caseform.R b/tests/testthat/test-as_caseform.R new file mode 100644 index 0000000..1f7c152 --- /dev/null +++ b/tests/testthat/test-as_caseform.R @@ -0,0 +1,17 @@ +data("HairEyeColor") + +freqForm <- as.data.frame(HairEyeColor) # Generate frequency form data +tidy_freqForm <- dplyr::as_tibble(HairEyeColor) # Generate tidy frequency form data +tableForm <- as_table(HairEyeColor) # Generate table form data +arrayDat <- as_array(HairEyeColor) # Generate an array + +test_that("Number of rows equal to number of entries", { + expect_equal( + sum(freqForm$Freq), + HairEyeColor |> as_caseform() |> nrow() + ) +}) + +test_that("Returns tibble by default", { + expect_s3_class(as_caseform(freqForm), "tbl") +}) \ No newline at end of file diff --git a/tests/testthat/test-as_freqform.R b/tests/testthat/test-as_freqform.R new file mode 100644 index 0000000..3329975 --- /dev/null +++ b/tests/testthat/test-as_freqform.R @@ -0,0 +1,37 @@ +data("HairEyeColor") + +arrayDat <- as_array(HairEyeColor) # Generate an array +freqForm <- as.data.frame(HairEyeColor) # Generate frequency form data +tidy_freqForm <- dplyr::as_tibble(HairEyeColor) # Generate tidy frequency form data +caseForm <- expand.dft(freqForm) # Generate case form data + +test_that("Array form input returns a tibble", { + ff <- as_freqform(arrayDat) + expect_s3_class(ff, "tbl") +}) + +test_that("Table form input returns a tibble", { + ff <- as_freqform(HairEyeColor) + expect_s3_class(ff, "tbl") +}) + +test_that("Tibble frequency form input returns a tibble", { + ff <- as_freqform(tidy_freqForm, freq = "n") + expect_s3_class(ff, "tbl") +}) + +test_that("Frequency form input returns a tibble", { + ary <- as_freqform(freqForm, freq = "Freq") + expect_s3_class(ff, "tbl") +}) + +test_that("Case form input returns a tibble", { + ary <- as_freqform(caseForm) + expect_s3_class(ff, "tbl") +}) + +test_that("Tibble frequency form input returns unmodified", { + ff <- as_freqform(tidy_freqForm, freq = "n") + expect_equal(sum(ff$Freq), sum(tidy_freqForm$n)) +}) + From 379db0327ac7c386e6681c537bf18be6cf6ce9b9 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 7 Mar 2026 23:52:06 -0500 Subject: [PATCH 03/31] Fixed links, tests; updated documentation for as_* functions. --- R/as_array.R | 2 +- R/as_caseform.R | 6 +++--- R/as_freqform.R | 4 ++-- man/Crossings.Rd | 2 +- man/as_array.Rd | 5 ++++- man/as_caseform.Rd | 10 +++++++--- man/as_freqform.Rd | 7 +++++-- man/as_table.Rd | 3 +++ tests/testthat/test-as_freqform.R | 4 ++-- 9 files changed, 28 insertions(+), 15 deletions(-) diff --git a/R/as_array.R b/R/as_array.R index 9342324..21a7690 100644 --- a/R/as_array.R +++ b/R/as_array.R @@ -10,7 +10,7 @@ #' @return object in array form #' #' @details -#' Unclasses the \code{\link{as_table()}} function to return an object in array form. +#' Unclasses the \code{\link{as_table}} function to return an object in array form. #' #' @author Gavin M. Klorfine #' diff --git a/R/as_caseform.R b/R/as_caseform.R index 6884008..7429d53 100644 --- a/R/as_caseform.R +++ b/R/as_caseform.R @@ -11,11 +11,11 @@ #' @return object in case form. #' #' @details -#' A wrapper for \code{\link{expand.dft()}} that is able to handle arrays. +#' A wrapper for \code{\link{expand.dft}} that is able to handle arrays. #' #' If a frequency column is not supplied, this function defaults to "Freq" -#' just like \code{\link{expand.dft()}}. Converts `obj` to a table using -#' \code{\link{as_table()}} before converting to case form. +#' just like \code{\link{expand.dft}}. Converts `obj` to a table using +#' \code{\link{as_table}} before converting to case form. #' #' @author Gavin M. Klorfine #' diff --git a/R/as_freqform.R b/R/as_freqform.R index 02a80f0..8a66c17 100644 --- a/R/as_freqform.R +++ b/R/as_freqform.R @@ -1,6 +1,6 @@ #' Convert any form (case or table form) into frequency form. #' -#' A wrapper for \code{as.data.frame()} that is able to properly handle arrays. +#' A wrapper for \code{\link[base]{as.data.frame}} that is able to properly handle arrays. #' Converts object (`obj`) in case or table form into frequency form. The #' column containing the frequencies (`freq`) must be supplied if `obj` is #' already in frequency form (and you are using this function to select @@ -13,7 +13,7 @@ #' @return object in frequency form. #' #' @details -#' Converts `obj` to a table using \code{\link{as_table()}} before converting to +#' Converts `obj` to a table using \code{\link{as_table}} before converting to #' frequency form #' #' @author Gavin M. Klorfine diff --git a/man/Crossings.Rd b/man/Crossings.Rd index cb9b007..7bc9d0e 100644 --- a/man/Crossings.Rd +++ b/man/Crossings.Rd @@ -46,7 +46,7 @@ LRstats(hauser.CRdiag) # what does Crossings do? cr <-with(Hauser79, Crossings(Father, Son)) head(cr) -Crossings levels +# Crossings levels matrix(cr[,1], nrow=5) matrix(cr[,2], nrow=5) matrix(cr[,3], nrow=5) diff --git a/man/as_array.Rd b/man/as_array.Rd index 49c8814..9d11fc8 100644 --- a/man/as_array.Rd +++ b/man/as_array.Rd @@ -22,7 +22,7 @@ column containing the frequencies (\code{freq}) must be supplied if \code{obj} i frequency form. } \details{ -Unclasses the \code{as_table()} function to return an object in array form. +Unclasses the \code{\link{as_table}} function to return an object in array form. } \examples{ library(vcdExtra) @@ -49,6 +49,9 @@ as_array(tidy_freqForm, freq = "n") |> str() as_array(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() +} +\seealso{ +\code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}} } \author{ Gavin M. Klorfine diff --git a/man/as_caseform.Rd b/man/as_caseform.Rd index b82e879..9220f7d 100644 --- a/man/as_caseform.Rd +++ b/man/as_caseform.Rd @@ -24,11 +24,11 @@ column containing the frequencies (\code{freq}) must be supplied if \code{obj} i frequency form. Returns a tibble if \code{tidy} is set to \code{TRUE}. } \details{ -A wrapper for \code{expand.dft()} that is able to handle arrays. +A wrapper for \code{\link{expand.dft}} that is able to handle arrays. If a frequency column is not supplied, this function defaults to "Freq" -just like \code{expand.dft()}. Converts \code{obj} to a table using -\code{as_table()} before converting to case form. +just like \code{\link{expand.dft}}. Converts \code{obj} to a table using +\code{\link{as_table}} before converting to case form. } \examples{ library(vcdExtra) @@ -53,6 +53,10 @@ as_caseform(arrayDat) |> str() as_caseform(tableForm, dims = c("Hair", "Eye")) |> str() +} +\seealso{ +\code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}}, +\code{\link{expand.dft}} } \author{ Gavin M. Klorfine diff --git a/man/as_freqform.Rd b/man/as_freqform.Rd index 5528bab..5472a37 100644 --- a/man/as_freqform.Rd +++ b/man/as_freqform.Rd @@ -19,14 +19,14 @@ as_freqform(obj, freq = NULL, dims = NULL, tidy = TRUE) object in frequency form. } \description{ -A wrapper for \code{as.data.frame()} that is able to properly handle arrays. +A wrapper for \code{\link[base]{as.data.frame}} that is able to properly handle arrays. Converts object (\code{obj}) in case or table form into frequency form. The column containing the frequencies (\code{freq}) must be supplied if \code{obj} is already in frequency form (and you are using this function to select dimensions). Returns a tibble if \code{tidy} is set to \code{TRUE}. } \details{ -Converts \code{obj} to a table using \code{as_table()} before converting to +Converts \code{obj} to a table using \code{\link{as_table}} before converting to frequency form } \examples{ @@ -54,6 +54,9 @@ as_freqform(freqForm, freq = "Freq", dims = c("Hair", "Eye")) |> str() as_freqform(tableForm, dims = c("Hair", "Eye")) |> str() +} +\seealso{ +\code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}} } \author{ Gavin M. Klorfine diff --git a/man/as_table.Rd b/man/as_table.Rd index ec09271..2533c3f 100644 --- a/man/as_table.Rd +++ b/man/as_table.Rd @@ -73,6 +73,9 @@ as_table(freqForm, freq = "Freq", prop = c(1, 3)) |> head(c(4,4,1)) # Same as ab as_table(freqForm, freq = "Freq", dims = c("Hair", "Eye"), prop = TRUE) +} +\seealso{ +\code{\link{as_freqform}}, \code{\link{as_caseform}}, \code{\link{as_array}} } \author{ Gavin M. Klorfine diff --git a/tests/testthat/test-as_freqform.R b/tests/testthat/test-as_freqform.R index 3329975..44e0d02 100644 --- a/tests/testthat/test-as_freqform.R +++ b/tests/testthat/test-as_freqform.R @@ -21,12 +21,12 @@ test_that("Tibble frequency form input returns a tibble", { }) test_that("Frequency form input returns a tibble", { - ary <- as_freqform(freqForm, freq = "Freq") + ff <- as_freqform(freqForm, freq = "Freq") expect_s3_class(ff, "tbl") }) test_that("Case form input returns a tibble", { - ary <- as_freqform(caseForm) + ff <- as_freqform(caseForm) expect_s3_class(ff, "tbl") }) From 886766834c49756f73fe97df140a5567e2dae1f2 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 7 Mar 2026 23:53:20 -0500 Subject: [PATCH 04/31] Added factoextra to "Suggests:" in DESCRIPTION. --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index d2925d3..83d0d57 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -62,7 +62,8 @@ Suggests: purrr, readxl, stringr, - tidyr (>= 1.3.0) + tidyr (>= 1.3.0), + factoextra Imports: MASS, grDevices, From 830ab2b697c606f5f32269743be586f43b3ecfc9 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 7 Mar 2026 23:57:07 -0500 Subject: [PATCH 05/31] Fixed @examples in Crossings.R by commenting out "Crossings levels" (line 52). --- R/Crossings.R | 176 +++++++++++++++++++++++++------------------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/R/Crossings.R b/R/Crossings.R index 0598725..2ca9fc5 100644 --- a/R/Crossings.R +++ b/R/Crossings.R @@ -1,88 +1,88 @@ -#' Crossings Interaction of Factors -#' -#' Given two ordered factors in a square, n x n frequency table, -#' `Crossings` creates an n-1 column matrix corresponding to different -#' degrees of difficulty in crossing from one level to the next, as described -#' by Goodman (1972). -#' -#' Instead of treating all mobility as equal, this model posits that the difficulty -#' of moving between categories increases with the number of boundaries (or "crossings") -#' that must be crossed, and that associations between categories decrease -#' with their separation. -#' -#' -#' @param \dots Two factors -#' @return For two factors of `n` levels, returns a binary indicator -#' matrix of `n*n` rows and `n-1` columns. -#' @author Michael Friendly and Heather Turner -#' @seealso -#' \code{\link[stats]{glm}}, \code{\link[gnm]{gnm}} for model fitting -#' functions for frequency tables; -#' \code{\link[gnm]{Diag}}, \code{\link[gnm]{Mult}}, \code{\link[gnm]{Symm}}, -#' \code{\link[gnm]{Topo}} for similar extensions to terms in model formulas. -#' -#' @references -#' Goodman, L. (1972). Some multiplicative models for the analysis -#' of cross-classified data. In: *Proceedings of the Sixth Berkeley -#' Symposium on Mathematical Statistics and Probability*, Berkeley, CA: -#' University of California Press, pp. 649-696. -#' @keywords models manip -#' @export -#' @examples -#' -#' data(Hauser79) -#' # display table -#' structable(~Father + Son, data=Hauser79) -#' -#' hauser.indep <- gnm(Freq ~ Father + Son, -#' data=Hauser79, -#' family=poisson) -#' -#' hauser.CR <- update(hauser.indep, -#' ~ . + Crossings(Father,Son)) -#' LRstats(hauser.CR) -#' -#' hauser.CRdiag <- update(hauser.indep, -#' ~ . + Crossings(Father,Son) + Diag(Father,Son)) -#' LRstats(hauser.CRdiag) -#' -#' # what does Crossings do? -#' cr <-with(Hauser79, Crossings(Father, Son)) -#' head(cr) -#' Crossings levels -#' matrix(cr[,1], nrow=5) -#' matrix(cr[,2], nrow=5) -#' matrix(cr[,3], nrow=5) -#' matrix(cr[,4], nrow=5) -#' -Crossings <- function(...) { - dots <- list(...) - if (length(dots) != 2) stop("Crossings() is defined for only two factors") - if (length(dots[[1]]) != length(dots[[2]])) - stop("arguments to Crossings() must all have same length") - dots <- lapply(dots, as.factor) - n <- nlevels(dots[[1]]) - if (nlevels(dots[[2]]) != n) - stop("arguments to Crossings() must all have same number of levels") - result <- crossings(as.numeric(dots[[1]]), as.numeric(dots[[2]]), n) - rownames(result) <- do.call("paste", c(dots, sep = "")) - result -} - -crossings <- function(i, j, n) { - npar <- n - 1 - result <- list() - for(c in 1:npar) { - overi <- c >= i - overj <- c >= j - result[[c]] <- (overi & !overj) + (overj & !overi) - } - result <- matrix(unlist(result), length(i), npar) - colnames(result) <- paste('C', 1:npar, sep='') - result -} - - - - - +#' Crossings Interaction of Factors +#' +#' Given two ordered factors in a square, n x n frequency table, +#' `Crossings` creates an n-1 column matrix corresponding to different +#' degrees of difficulty in crossing from one level to the next, as described +#' by Goodman (1972). +#' +#' Instead of treating all mobility as equal, this model posits that the difficulty +#' of moving between categories increases with the number of boundaries (or "crossings") +#' that must be crossed, and that associations between categories decrease +#' with their separation. +#' +#' +#' @param \dots Two factors +#' @return For two factors of `n` levels, returns a binary indicator +#' matrix of `n*n` rows and `n-1` columns. +#' @author Michael Friendly and Heather Turner +#' @seealso +#' \code{\link[stats]{glm}}, \code{\link[gnm]{gnm}} for model fitting +#' functions for frequency tables; +#' \code{\link[gnm]{Diag}}, \code{\link[gnm]{Mult}}, \code{\link[gnm]{Symm}}, +#' \code{\link[gnm]{Topo}} for similar extensions to terms in model formulas. +#' +#' @references +#' Goodman, L. (1972). Some multiplicative models for the analysis +#' of cross-classified data. In: *Proceedings of the Sixth Berkeley +#' Symposium on Mathematical Statistics and Probability*, Berkeley, CA: +#' University of California Press, pp. 649-696. +#' @keywords models manip +#' @export +#' @examples +#' +#' data(Hauser79) +#' # display table +#' structable(~Father + Son, data=Hauser79) +#' +#' hauser.indep <- gnm(Freq ~ Father + Son, +#' data=Hauser79, +#' family=poisson) +#' +#' hauser.CR <- update(hauser.indep, +#' ~ . + Crossings(Father,Son)) +#' LRstats(hauser.CR) +#' +#' hauser.CRdiag <- update(hauser.indep, +#' ~ . + Crossings(Father,Son) + Diag(Father,Son)) +#' LRstats(hauser.CRdiag) +#' +#' # what does Crossings do? +#' cr <-with(Hauser79, Crossings(Father, Son)) +#' head(cr) +#' # Crossings levels +#' matrix(cr[,1], nrow=5) +#' matrix(cr[,2], nrow=5) +#' matrix(cr[,3], nrow=5) +#' matrix(cr[,4], nrow=5) +#' +Crossings <- function(...) { + dots <- list(...) + if (length(dots) != 2) stop("Crossings() is defined for only two factors") + if (length(dots[[1]]) != length(dots[[2]])) + stop("arguments to Crossings() must all have same length") + dots <- lapply(dots, as.factor) + n <- nlevels(dots[[1]]) + if (nlevels(dots[[2]]) != n) + stop("arguments to Crossings() must all have same number of levels") + result <- crossings(as.numeric(dots[[1]]), as.numeric(dots[[2]]), n) + rownames(result) <- do.call("paste", c(dots, sep = "")) + result +} + +crossings <- function(i, j, n) { + npar <- n - 1 + result <- list() + for(c in 1:npar) { + overi <- c >= i + overj <- c >= j + result[[c]] <- (overi & !overj) + (overj & !overi) + } + result <- matrix(unlist(result), length(i), npar) + colnames(result) <- paste('C', 1:npar, sep='') + result +} + + + + + From fc2a3294d443b3d96e9a200e30672ab8146c2691 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sun, 8 Mar 2026 15:09:37 -0400 Subject: [PATCH 06/31] Added as_matrix conversion function --- NAMESPACE | 1 + R/as_array.R | 3 ++- R/as_caseform.R | 2 +- R/as_freqform.R | 3 ++- R/as_matrix.R | 58 +++++++++++++++++++++++++++++++++++++++++++++++ R/as_table.R | 3 ++- man/as_array.Rd | 2 +- man/as_matrix.Rd | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 126 insertions(+), 5 deletions(-) create mode 100644 R/as_matrix.R create mode 100644 man/as_matrix.Rd diff --git a/NAMESPACE b/NAMESPACE index b21fa4f..039df0d 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -52,6 +52,7 @@ export(Summarise) export(as_array) export(as_caseform) export(as_freqform) +export(as_matrix) export(as_table) export(assoc_graph) export(blogits) diff --git a/R/as_array.R b/R/as_array.R index 21a7690..9b151fc 100644 --- a/R/as_array.R +++ b/R/as_array.R @@ -15,7 +15,8 @@ #' @author Gavin M. Klorfine #' #' @seealso -#' \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}} +#' \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_caseform}}, +#' \code{\link{as_matrix}} #' #' @examples #' library(vcdExtra) diff --git a/R/as_caseform.R b/R/as_caseform.R index 7429d53..9029afb 100644 --- a/R/as_caseform.R +++ b/R/as_caseform.R @@ -21,7 +21,7 @@ #' #' @seealso #' \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}}, -#' \code{\link{expand.dft}} +#' \code{\link{as_matrix}}, \code{\link{expand.dft}} #' #' @importFrom dplyr as_tibble #' diff --git a/R/as_freqform.R b/R/as_freqform.R index 8a66c17..f476edb 100644 --- a/R/as_freqform.R +++ b/R/as_freqform.R @@ -19,7 +19,8 @@ #' @author Gavin M. Klorfine #' #' @seealso -#' \code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}} +#' \code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}}, +#' \code{\link{as_matrix}} #' #' @importFrom dplyr as_tibble #' diff --git a/R/as_matrix.R b/R/as_matrix.R new file mode 100644 index 0000000..bbc794f --- /dev/null +++ b/R/as_matrix.R @@ -0,0 +1,58 @@ +#' Convert frequency, case, or table form data into a matrix. +#' +#' Converts object (`obj`) in frequency, case or table form into a matrix of +#' specified dimensions (`dims`). The column containing the frequencies (`freq`) +#' must be supplied if `obj` is in frequency form. +#' +#' @param obj Object to be converted into a matrix +#' @param freq If `obj` is in frequency form, this is the name of the frequency column. Leave as `NULL` if `obj` is in any other form. +#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions. +#' @return Object in matrix form. +#' +#' @details +#' First converts `obj` into an array using \code{\link{as_array}}. Then a +#' check is made to ensure the user inputted a 2D `obj`. If `obj` is not 2D, an +#' error is returned. If `obj` is 2D, \code{\link[base]{as.matrix}} is applied. +#' +#' @author Gavin M. Klorfine +#' +#' @seealso +#' \code{\link{as_array}}, \code{\link{as_table}}, \code{\link{as_freqform}}, +#' \code{\link{as_caseform}} +#' +#' @examples +#' library(vcdExtra) +#' +#' data("HairEyeColor") +#' +#' freqForm <- as.data.frame(HairEyeColor) # Generate frequency form data +#' tidy_freqForm <- dplyr::as_tibble(HairEyeColor) # Generate tidy frequency form data +#' caseForm <- expand.dft(freqForm) # Generate case form data +#' arrayDat <- as_array(HairEyeColor) # Generate an array +#' +#' # Table form -> matrix +#' as_matrix(HairEyeColor, dims = c("Hair","Eye")) |> str() +#' +#' # Frequency form -> matrix +#' as_matrix(freqForm, freq = "Freq", dims = c("Hair","Eye")) |> str() +#' +#' # Case form -> matrix form +#' as_matrix(caseForm, dims = c("Hair", "Eye")) |> str() +#' +#' # Frequency (tibble) form -> matrix form +#' as_matrix(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() +#' +#' +#' @export + +as_matrix <- function(obj, freq = NULL, dims = NULL){ + + tab <- as_array(obj, freq = freq, dims = dims) + + if (length(dim(tab)) == 2){ # If number of dimensions equal 2 + return(as.matrix(tab)) + } + else{ + stop("Please supply an object with two dimensions. You may use the `dims` argument.") + } +} \ No newline at end of file diff --git a/R/as_table.R b/R/as_table.R index 6cfc26a..4005e9d 100644 --- a/R/as_table.R +++ b/R/as_table.R @@ -21,7 +21,8 @@ #' @author Gavin M. Klorfine #' #' @seealso -#' \code{\link{as_freqform}}, \code{\link{as_caseform}}, \code{\link{as_array}} +#' \code{\link{as_freqform}}, \code{\link{as_caseform}}, \code{\link{as_array}}, +#' \code{\link{as_matrix}} #' #' @importFrom stats reformulate xtabs #' @importFrom methods is diff --git a/man/as_array.Rd b/man/as_array.Rd index 9d11fc8..e996562 100644 --- a/man/as_array.Rd +++ b/man/as_array.Rd @@ -51,7 +51,7 @@ as_array(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() } \seealso{ -\code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}} +\code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_caseform}} } \author{ Gavin M. Klorfine diff --git a/man/as_matrix.Rd b/man/as_matrix.Rd new file mode 100644 index 0000000..02b23cf --- /dev/null +++ b/man/as_matrix.Rd @@ -0,0 +1,59 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/as_matrix.R +\name{as_matrix} +\alias{as_matrix} +\title{Convert frequency, case, or table form data into a matrix.} +\usage{ +as_matrix(obj, freq = NULL, dims = NULL) +} +\arguments{ +\item{obj}{Object to be converted into a matrix} + +\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. Leave as \code{NULL} if \code{obj} is in any other form.} + +\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions.} +} +\value{ +Object in matrix form. +} +\description{ +Converts object (\code{obj}) in frequency, case or table form into a matrix of +specified dimensions (\code{dims}). The column containing the frequencies (\code{freq}) +must be supplied if \code{obj} is in frequency form. +} +\details{ +First converts \code{obj} into an array using \code{\link{as_array}}. Then a +check is made to ensure the user inputted a 2D \code{obj}. If \code{obj} is not 2D, an +error is returned. If \code{obj} is 2D, \code{\link[base]{as.matrix}} is applied. +} +\examples{ +library(vcdExtra) + +data("HairEyeColor") + +freqForm <- as.data.frame(HairEyeColor) # Generate frequency form data +tidy_freqForm <- dplyr::as_tibble(HairEyeColor) # Generate tidy frequency form data +caseForm <- expand.dft(freqForm) # Generate case form data +arrayDat <- as_array(HairEyeColor) # Generate an array + +# Table form -> matrix +as_matrix(HairEyeColor, dims = c("Hair","Eye")) |> str() + +# Frequency form -> matrix +as_matrix(freqForm, freq = "Freq", dims = c("Hair","Eye")) |> str() + +# Case form -> matrix form +as_matrix(caseForm, dims = c("Hair", "Eye")) |> str() + +# Frequency (tibble) form -> matrix form +as_matrix(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() + + +} +\seealso{ +\code{\link{as_array}}, \code{\link{as_table}}, \code{\link{as_freqform}}, +\code{\link{as_caseform}} +} +\author{ +Gavin M. Klorfine +} From 8d37926fd8eab0ca6e50550beda6e26ffac3c320 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Tue, 10 Mar 2026 12:11:04 -0400 Subject: [PATCH 07/31] Added as_matrix to seealso tags for other as_* functions --- man/as_array.Rd | 3 ++- man/as_caseform.Rd | 2 +- man/as_freqform.Rd | 3 ++- man/as_table.Rd | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/man/as_array.Rd b/man/as_array.Rd index e996562..27d1da6 100644 --- a/man/as_array.Rd +++ b/man/as_array.Rd @@ -51,7 +51,8 @@ as_array(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() } \seealso{ -\code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_caseform}} +\code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_caseform}}, +\code{\link{as_matrix}} } \author{ Gavin M. Klorfine diff --git a/man/as_caseform.Rd b/man/as_caseform.Rd index 9220f7d..636c67c 100644 --- a/man/as_caseform.Rd +++ b/man/as_caseform.Rd @@ -56,7 +56,7 @@ as_caseform(tableForm, dims = c("Hair", "Eye")) |> str() } \seealso{ \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}}, -\code{\link{expand.dft}} +\code{\link{as_matrix}}, \code{\link{expand.dft}} } \author{ Gavin M. Klorfine diff --git a/man/as_freqform.Rd b/man/as_freqform.Rd index 5472a37..33ea178 100644 --- a/man/as_freqform.Rd +++ b/man/as_freqform.Rd @@ -56,7 +56,8 @@ as_freqform(tableForm, dims = c("Hair", "Eye")) |> str() } \seealso{ -\code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}} +\code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}}, +\code{\link{as_matrix}} } \author{ Gavin M. Klorfine diff --git a/man/as_table.Rd b/man/as_table.Rd index 2533c3f..5b3a68d 100644 --- a/man/as_table.Rd +++ b/man/as_table.Rd @@ -75,7 +75,8 @@ as_table(freqForm, freq = "Freq", dims = c("Hair", "Eye"), prop = TRUE) } \seealso{ -\code{\link{as_freqform}}, \code{\link{as_caseform}}, \code{\link{as_array}} +\code{\link{as_freqform}}, \code{\link{as_caseform}}, \code{\link{as_array}}, +\code{\link{as_matrix}} } \author{ Gavin M. Klorfine From 622bf3fefed10806416ac124ee43b6b926dd9ea5 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Wed, 11 Mar 2026 12:24:58 -0400 Subject: [PATCH 08/31] Added unit tests for as_matrix. as_matrix added to _pkgdown.yml --- _pkgdown.yml | 3 ++- tests/testthat/test-as_matrix.R | 38 +++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 tests/testthat/test-as_matrix.R diff --git a/_pkgdown.yml b/_pkgdown.yml index e795bcc..69c9107 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -82,7 +82,8 @@ reference: - as_table - as_array - as_freqform - - as_caseform + - as_caseform + - as_matrix - title: Utility desc: Utility functions in the package diff --git a/tests/testthat/test-as_matrix.R b/tests/testthat/test-as_matrix.R new file mode 100644 index 0000000..3c0e26a --- /dev/null +++ b/tests/testthat/test-as_matrix.R @@ -0,0 +1,38 @@ +data("HairEyeColor") + +arrayDat <- unclass(HairEyeColor) # Generate array form data +freqForm <- as.data.frame(HairEyeColor) # Generate frequency form data +tidy_freqForm <- dplyr::as_tibble(HairEyeColor) # Generate tidy frequency form data +caseForm <- expand.dft(freqForm) # Generate case form data + +test_that("Matrix returns when array supplied", { + mat <- as_matrix(arrayDat, dim = c("Hair", "Eye")) + expect_true(inherits(mat, "matrix")) +}) + +test_that("Matrix returns when table supplied", { + mat <- as_matrix(HairEyeColor, dim = c("Hair", "Eye")) + expect_true(inherits(mat, "matrix")) +}) + +test_that("Matrix returns when frequency form supplied", { + mat <- as_matrix(freqForm, freq = "Freq", dim = c("Hair", "Eye")) + expect_true(inherits(mat, "matrix")) +}) + +test_that("Matrix returns when (tibble) frequency form supplied", { + mat <- as_matrix(tidy_freqForm, freq = "n", dim = c("Hair", "Eye")) + expect_true(inherits(mat, "matrix")) +}) + +test_that("Matrix returns when case form supplied", { + mat <- as_matrix(caseForm, dim = c("Hair", "Eye")) + expect_true(inherits(mat, "matrix")) +}) + +test_that("Correct dimensions returned", { + mat <- as_matrix(HairEyeColor, dim = c("Hair", "Eye")) + expect_true(all(names(dimnames(mat)) == c("Hair", "Eye"))) +}) + + \ No newline at end of file From 539b9ad348bf84ec5d3c21b800754b5e25437da1 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Thu, 12 Mar 2026 22:00:12 -0400 Subject: [PATCH 09/31] Added working prototype of `collapse_levels` to /dev --- dev/collapse_levels.R | 78 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 dev/collapse_levels.R diff --git a/dev/collapse_levels.R b/dev/collapse_levels.R new file mode 100644 index 0000000..fbcf53a --- /dev/null +++ b/dev/collapse_levels.R @@ -0,0 +1,78 @@ +#' @param freq Supply only if your data is in frequency form AND your frequency column differs in name from the default ("Freq"). +#' +#' @importFrom methods is +#' @importFrom rlang set_names .data +#' @importFrom dplyr as_tibble summarise + +collapse_levels <- function(obj, freq = "Freq", ...){ + + argms <- list(...) + obj_class <- NULL + + if (is(obj, "array")) + obj_class <- "array" + else if (is(obj, "matrix")) + obj_class <- "matrix" + else if (is(obj, "table")) + obj_class <- "table" + else if (is(obj, "tbl")) + obj_class <- "tbl" + + + # Convert to data frame. Preserve new frequency column + coll_obj <- as_freqform(obj, freq = freq, tidy = FALSE) + freq <- "Freq" + + + fact_lvls <- list() # Initialize list + + # Iterate through and collapse factors according to specified levels + for (i in 1:length(names(argms))){ + + # Gather the specified levels + for (j in 1:length(argms[[i]])){ + fact_lvls <- append(fact_lvls, list(argms[[i]][[j]])) + } + + # Collapse factor according to specified levels + coll_obj[[names(argms)[i]]] <- fct_collapse( + coll_obj[[names(argms)[i]]], + !!!set_names(fact_lvls, names(argms[[i]])) + ) + + fact_lvls <- list() # Reset list for the next factor + } + + + # Combine duplicate rows + coll_obj <- coll_obj |> dplyr::summarise(Freq = sum(.data[[freq]]), .by = -freq) + + + # Return the user a collapsed object of same type as their input + if (!is.null(obj_class)){ + if (obj_class == "array") + coll_obj <- as_array(coll_obj, freq = "Freq") + else if (obj_class == "matrix") + coll_obj <- as_matrix(coll_obj, freq = "Freq") + else if (obj_class == "table") + coll_obj <- as_table(coll_obj, freq = "Freq") + else if (obj_class == "tbl") + coll_obj <- dplyr::as_tibble(coll_obj) + } + + return (coll_obj) +} + + +data("HairEyeColor") +tList <- collapse_levels( + HairEyeColor, + Hair = list( + Dark = c("Black", "Brown"), + Light = c("Blond", "Red") + ), + Eye = list( + Common = c("Brown"), + Uncommon = c("Blue", "Green", "Hazel") + ) +) From d4a45a38cf4117d12628ce5208fc1e7af0c23cb5 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Fri, 13 Mar 2026 22:53:27 -0400 Subject: [PATCH 10/31] Added `prop` argument to as_freqform. --- R/as_freqform.R | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/R/as_freqform.R b/R/as_freqform.R index f476edb..3655e5d 100644 --- a/R/as_freqform.R +++ b/R/as_freqform.R @@ -6,11 +6,12 @@ #' already in frequency form (and you are using this function to select #' dimensions). Returns a tibble if `tidy` is set to `TRUE`. #' -#' @param obj object to be converted to frequency form -#' @param freq If `obj` is already in frequency form, this is the name of the frequency column. If `obj` is in any other form, do not supply an argument (see "Details") -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions -#' @param tidy returns a tibble if set to TRUE -#' @return object in frequency form. +#' @param obj Object to be converted to frequency form. +#' @param freq If `obj` is already in frequency form, this is the name of the frequency column. If `obj` is in any other form, do not supply an argument (see "Details"). +#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions. +#' @param prop If set to `TRUE`, the resulting "frequency" column will contain proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed. The resulting "frequency" column is renamed to "Prop." +#' @param tidy Returns a tibble if set to `TRUE.` +#' @return Object in frequency form. #' #' @details #' Converts `obj` to a table using \code{\link{as_table}} before converting to @@ -22,7 +23,7 @@ #' \code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}}, #' \code{\link{as_matrix}} #' -#' @importFrom dplyr as_tibble +#' @importFrom dplyr as_tibble rename #' #' @examples #' library(vcdExtra) @@ -48,16 +49,38 @@ #' #' as_freqform(tableForm, dims = c("Hair", "Eye")) |> str() #' +#' #' #-----For proportions-----# +#' +#' as_freqform(tableForm, prop = TRUE) |> head() # print only Sex == Male rows +#' +#' # Marginalize proportions along "Sex" (i.e., male proportions sum to 1, female proportions sum to 1) +#' as_freqform(tableForm, prop = "Sex") |> head() +#' +#' as_freqform(tableForm, prop = 3) |> head() # Same as above +#' +#' # Marginalize proportions along multiple variables +#' as_freqform(tableForm, prop = c("Hair", "Sex")) |> head() +#' +#' as_freqform(tableForm, prop = c(1, 3)) |> head() # Same as above +#' +#' # Using dims and prop arguments in tandem +#' as_freqform(tableForm, dims = c("Hair", "Eye"), prop = TRUE) #' #' @export -as_freqform <- function(obj, freq = NULL, dims = NULL, tidy = TRUE){ +as_freqform <- function(obj, freq = NULL, dims = NULL, prop = NULL, tidy = TRUE){ - tab <- as.data.frame(as_table(obj, freq = freq, dims = dims)) + tab <- as.data.frame(as_table(obj, freq = freq, dims = dims, prop = prop)) - if (tidy){ + if (tidy) tab <- dplyr::as_tibble(tab) - } + + # Account for new column named "Freq" if freq was NULL + if (is.null(freq)) + freq <- "Freq" + + if (!is.null(prop)) + tab <- tab |> dplyr::rename("Prop" = all_of(freq)) return(tab) } \ No newline at end of file From 05d310cdb879a1a06f4b2b84786ec6a86ad0bc37 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Fri, 13 Mar 2026 22:53:40 -0400 Subject: [PATCH 11/31] Minor fixes to as_table documentation. --- R/as_table.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/R/as_table.R b/R/as_table.R index 4005e9d..2b8fc7f 100644 --- a/R/as_table.R +++ b/R/as_table.R @@ -4,11 +4,11 @@ #' column containing the frequencies (`freq`) must be supplied if `obj` is in #' frequency form. Optionally returns a table of proportions with (optionally) specified margins. #' -#' @param obj object to be converted to table form +#' @param obj Object to be converted to table form. #' @param freq If `obj` is in frequency form, this is the name of the frequency column. Leave as `NULL` if `obj` is in any other form. -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions -#' @param prop If set to TRUE, returns a table of proportions. May also be set to a character or numeric vector of margins. -#' @return object in table form +#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions. +#' @param prop If set to `TRUE`, returns a table of proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed. +#' @return Object in table form. #' #' @details #' If `obj` was in table form to begin with, it is returned to the user as-is From 5bc37c626c3d4105a2e35f26d0e2303ce00495c0 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sun, 15 Mar 2026 01:57:41 -0400 Subject: [PATCH 12/31] Documentation, adding dplyr::rename to NAMESPACE --- NAMESPACE | 1 + man/as_freqform.Rd | 30 ++++++++++++++++++++++++------ man/as_table.Rd | 8 ++++---- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 7723191..c8826d0 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -97,6 +97,7 @@ importFrom(ca,multilines) importFrom(dplyr,all_of) importFrom(dplyr,as_tibble) importFrom(dplyr,everything) +importFrom(dplyr,rename) importFrom(gnm,meanResiduals) importFrom(grDevices,col2rgb) importFrom(grDevices,hsv) diff --git a/man/as_freqform.Rd b/man/as_freqform.Rd index 33ea178..f5f2a5a 100644 --- a/man/as_freqform.Rd +++ b/man/as_freqform.Rd @@ -4,19 +4,21 @@ \alias{as_freqform} \title{Convert any form (case or table form) into frequency form.} \usage{ -as_freqform(obj, freq = NULL, dims = NULL, tidy = TRUE) +as_freqform(obj, freq = NULL, dims = NULL, prop = NULL, tidy = TRUE) } \arguments{ -\item{obj}{object to be converted to frequency form} +\item{obj}{Object to be converted to frequency form.} -\item{freq}{If \code{obj} is already in frequency form, this is the name of the frequency column. If \code{obj} is in any other form, do not supply an argument (see "Details")} +\item{freq}{If \code{obj} is already in frequency form, this is the name of the frequency column. If \code{obj} is in any other form, do not supply an argument (see "Details").} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions.} -\item{tidy}{returns a tibble if set to TRUE} +\item{prop}{If set to \code{TRUE}, the resulting "frequency" column will contain proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed. The resulting "frequency" column is renamed to "Prop."} + +\item{tidy}{Returns a tibble if set to \code{TRUE.}} } \value{ -object in frequency form. +Object in frequency form. } \description{ A wrapper for \code{\link[base]{as.data.frame}} that is able to properly handle arrays. @@ -53,6 +55,22 @@ as_freqform(freqForm, freq = "Freq", dims = c("Hair", "Eye")) |> str() as_freqform(tableForm, dims = c("Hair", "Eye")) |> str() +#' #-----For proportions-----# + +as_freqform(tableForm, prop = TRUE) |> head() # print only Sex == Male rows + +# Marginalize proportions along "Sex" (i.e., male proportions sum to 1, female proportions sum to 1) +as_freqform(tableForm, prop = "Sex") |> head() + +as_freqform(tableForm, prop = 3) |> head() # Same as above + +# Marginalize proportions along multiple variables +as_freqform(tableForm, prop = c("Hair", "Sex")) |> head() + +as_freqform(tableForm, prop = c(1, 3)) |> head() # Same as above + +# Using dims and prop arguments in tandem +as_freqform(tableForm, dims = c("Hair", "Eye"), prop = TRUE) } \seealso{ diff --git a/man/as_table.Rd b/man/as_table.Rd index 5b3a68d..f14f0b1 100644 --- a/man/as_table.Rd +++ b/man/as_table.Rd @@ -7,16 +7,16 @@ as_table(obj, freq = NULL, dims = NULL, prop = NULL) } \arguments{ -\item{obj}{object to be converted to table form} +\item{obj}{Object to be converted to table form.} \item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. Leave as \code{NULL} if \code{obj} is in any other form.} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions.} -\item{prop}{If set to TRUE, returns a table of proportions. May also be set to a character or numeric vector of margins.} +\item{prop}{If set to \code{TRUE}, returns a table of proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed.} } \value{ -object in table form +Object in table form. } \description{ Converts object (\code{obj}) in frequency or case form into table form. The From e5696415736186d5716d0951c040678b37a89edb Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 28 Mar 2026 12:25:45 -0400 Subject: [PATCH 13/31] Documented `collapse_levels`, moved from /dev to /R --- R/collapse_levels.R | 135 ++++++++++++++++++++++++++++++++++++++++++ dev/collapse_levels.R | 78 ------------------------ 2 files changed, 135 insertions(+), 78 deletions(-) create mode 100644 R/collapse_levels.R delete mode 100644 dev/collapse_levels.R diff --git a/R/collapse_levels.R b/R/collapse_levels.R new file mode 100644 index 0000000..45fd961 --- /dev/null +++ b/R/collapse_levels.R @@ -0,0 +1,135 @@ +#' Collapse the levels of a dataset +#' +#' Collapses the levels of a dataset (of any form) into those specified. May +#' also be used to re-name levels. Ensure argument \code{freq} is supplied +#' should your data be in frequency form (and the frequency column differs in +#' name from default, "Freq"). +#' +#' @param x The dataset to be collapsed. +#' @param freq Supply only if your data is in frequency form AND your frequency +#' column differs in name from the default ("Freq"). +#' @param \dots A collection of one or more assignments of dataset variables to +#' a list of levels in the format +#' \code{new_level = c("old_level_1", "old_level_2", ..., "old_level_n")}. +#' @return The collapsed dataset in its original form (i.e., the initial form of +#' \code{x}). +#' +#' @details +#' First converts the object \code{x} into a frequency form data frame. Then, +#' \code{\link[forcats]{fct_collapse}} is used to collapse variable levels. +#' Next, duplicate rows (an artefact of collapsing) are aggregated via +#' \code{\link[dplyr]{summarise}}. Last, the frequency form data frame is +#' converted back into the initial form of object \code{x}. +#' +#' @author Gavin M. Klorfine +#' +#' @seealso +#' \code{\link[forcats]{fct_collapse}}, \code{\link{collapse.table}} +#' +#' Tidy conversion functions: +#' \code{link{as_table}}, \code{link{as_freqform}}, \code{link{as_caseform}}, +#' \code{link{as_matrix}}, \code{link{as_array}}, +#' +#' @importFrom methods is +#' @importFrom rlang set_names .data +#' @importFrom dplyr as_tibble summarise +#' @importFrom forcats fct_collapse +#' +#' @examples +#' data("HairEyeColor") # Table form data +#' +#' collapse_levels( +#' HairEyeColor, # Dataset +#' Hair = list( # List of arguments for first variable +#' Dark = c("Black", "Brown"), # Collapse "Black" and "Brown" -> "Dark" +#' Light = c("Blond", "Red") # Collapse "Blond" and "Red" -> "Light" +#' ), +#' Eye = list( # List of arguments for second variable +#' Common = c("Brown"), # Collapse (rename) "Brown" -> "Common" +#' Uncommon = c("Blue", "Green", "Hazel") +#' ) +#' ) |> str() +#' +#' # To illustrate `freq` argument usage, convert Hoyt dataset to frequency form +#' # (ff) and then rename frequency column to "n" +#' +#' data("Hoyt", package = "vcdExtra") +#' ff_Hoyt <- as_freqform(Hoyt) +#' names(ff_Hoyt)[length(ff_Hoyt)] <- "n" +#' +#' collapse_levels( +#' ff_Hoyt, +#' +#' # Ensure to supply if data is in frequency form and frequency column name +#' # differs from "Freq" +#' freq = "n", +#' +#' Occupation = list( +#' High = c(1, 2), +#' Middle = 3, +#' Low = 4, +#' VeryLow = c(5, 6, 7) +#' ) +#' ) |> str() +#' +#' +#' @export + +collapse_levels <- function(x, freq = "Freq", ...){ + + argms <- list(...) + x_class <- NULL + + if (is(x, "array")) + x_class <- "array" + else if (is(x, "matrix")) + x_class <- "matrix" + else if (is(x, "table")) + x_class <- "table" + else if (is(x, "tbl")) + x_class <- "tbl" + + + # Convert to data frame. Preserve new frequency column + coll_x <- as_freqform(x, freq = freq, tidy = FALSE) + freq <- "Freq" + + + fact_lvls <- list() # Initialize list + + # Iterate through and collapse factors according to specified levels + for (i in 1:length(names(argms))){ + + # Gather the specified levels + for (j in 1:length(argms[[i]])){ + fact_lvls <- append(fact_lvls, list(argms[[i]][[j]])) + } + + # Collapse factor according to specified levels + coll_x[[names(argms)[i]]] <- forcats::fct_collapse( + coll_x[[names(argms)[i]]], + !!!rlang::set_names(fact_lvls, names(argms[[i]])) + ) + + fact_lvls <- list() # Reset list for the next factor + } + + + # Combine duplicate rows + coll_x <- coll_x |> dplyr::summarise(Freq = sum(.data[[freq]]), .by = -all_of(freq)) + + + # Return the user a collapsed object of same type as their input + if (!is.null(x_class)){ + if (x_class == "array") + coll_x <- as_array(coll_x, freq = "Freq") + else if (x_class == "matrix") + coll_x <- as_matrix(coll_x, freq = "Freq") + else if (x_class == "table") + coll_x <- as_table(coll_x, freq = "Freq") + else if (x_class == "tbl") + coll_x <- dplyr::as_tibble(coll_x) + } + + return (coll_x) +} \ No newline at end of file diff --git a/dev/collapse_levels.R b/dev/collapse_levels.R deleted file mode 100644 index fbcf53a..0000000 --- a/dev/collapse_levels.R +++ /dev/null @@ -1,78 +0,0 @@ -#' @param freq Supply only if your data is in frequency form AND your frequency column differs in name from the default ("Freq"). -#' -#' @importFrom methods is -#' @importFrom rlang set_names .data -#' @importFrom dplyr as_tibble summarise - -collapse_levels <- function(obj, freq = "Freq", ...){ - - argms <- list(...) - obj_class <- NULL - - if (is(obj, "array")) - obj_class <- "array" - else if (is(obj, "matrix")) - obj_class <- "matrix" - else if (is(obj, "table")) - obj_class <- "table" - else if (is(obj, "tbl")) - obj_class <- "tbl" - - - # Convert to data frame. Preserve new frequency column - coll_obj <- as_freqform(obj, freq = freq, tidy = FALSE) - freq <- "Freq" - - - fact_lvls <- list() # Initialize list - - # Iterate through and collapse factors according to specified levels - for (i in 1:length(names(argms))){ - - # Gather the specified levels - for (j in 1:length(argms[[i]])){ - fact_lvls <- append(fact_lvls, list(argms[[i]][[j]])) - } - - # Collapse factor according to specified levels - coll_obj[[names(argms)[i]]] <- fct_collapse( - coll_obj[[names(argms)[i]]], - !!!set_names(fact_lvls, names(argms[[i]])) - ) - - fact_lvls <- list() # Reset list for the next factor - } - - - # Combine duplicate rows - coll_obj <- coll_obj |> dplyr::summarise(Freq = sum(.data[[freq]]), .by = -freq) - - - # Return the user a collapsed object of same type as their input - if (!is.null(obj_class)){ - if (obj_class == "array") - coll_obj <- as_array(coll_obj, freq = "Freq") - else if (obj_class == "matrix") - coll_obj <- as_matrix(coll_obj, freq = "Freq") - else if (obj_class == "table") - coll_obj <- as_table(coll_obj, freq = "Freq") - else if (obj_class == "tbl") - coll_obj <- dplyr::as_tibble(coll_obj) - } - - return (coll_obj) -} - - -data("HairEyeColor") -tList <- collapse_levels( - HairEyeColor, - Hair = list( - Dark = c("Black", "Brown"), - Light = c("Blond", "Red") - ), - Eye = list( - Common = c("Brown"), - Uncommon = c("Blue", "Green", "Hazel") - ) -) From 93c1b53280d15a3831dc20bc30a7516703109c46 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 28 Mar 2026 18:01:26 -0400 Subject: [PATCH 14/31] Added tidy conversions to `a1-creating.Rmd` vignette --- vignettes/a1-creating.Rmd | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/vignettes/a1-creating.Rmd b/vignettes/a1-creating.Rmd index 03d7cb8..763d480 100644 --- a/vignettes/a1-creating.Rmd +++ b/vignettes/a1-creating.Rmd @@ -617,6 +617,46 @@ Art.df <- expand.dft(Art.tab) str(Art.df) ``` +### Tidy conversions + +To make conversions more intuitive, `vcdExtra` includes tidy conversion +functions `as_table()`, `as_matrix()`, `as_array()`, `as_freqform()`, and `as_caseform()` to easily convert any form to the form of the function's +namesake (i.e., `as_table()` converts any form into table form). Arguments in +these functions are of similar format, with conversions *from* frequency form +requiring the column containing frequencies to be specified via the `freq` +argument. Likewise, `dims` (dimensions) may be specified, with output summing +over excluded variables. + +***Example***: +Convert the `GSStab` in table form to a `data.frame` in frequency form. +```{r, tidyconvert-ex1} +# tidy = TRUE (default) returns a tibble +GSS.ff <- as_freqform(GSStab, tidy = FALSE) +GSS.ff +``` + +***Example***: +Convert the `GSStab` data in frequency form (`GSS.ff`) back to table form. +```{r, tidyconvert-ex2} +as_table(GSS.ff, freq = "Freq") # When present, freq column must be specified +``` + +***Example***: Convert the `Arthritis` data in case form to a 3-way table of +`Treatment` $\times$ `Sex` $\times$ `Improved`. +```{r, tidyconvert-ex3} +tidy_Art.tab <- as_table(Arthritis, dims = c("Treatment", "Sex", "Improved")) +str(tidy_Art.tab) + +ftable(tidy_Art.tab) +``` + +***Example***: Convert the `Arthritis` data in table form (`tidy_Art.tab`) back +to a `data.frame` in case form, with factors `Treatment`, `Sex` and `Improved`. +```{r, tidyconvert-ex4} +tidy_Art.df <- as_caseform(tidy_Art.tab, tidy = FALSE) +str(tidy_Art.df) +``` + ## A complex example {#sec:complex} If you've followed so far, you're ready for a more complicated example. From 69fb99a2763d636f86b7a242585104b20661e861 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 28 Mar 2026 18:18:22 -0400 Subject: [PATCH 15/31] Added some unit tests for `collapse_levels` --- R/collapse_levels.R | 2 ++ tests/testthat/test-collapse_levels.R | 34 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 tests/testthat/test-collapse_levels.R diff --git a/R/collapse_levels.R b/R/collapse_levels.R index 45fd961..0201557 100644 --- a/R/collapse_levels.R +++ b/R/collapse_levels.R @@ -37,6 +37,7 @@ #' #' @examples #' data("HairEyeColor") # Table form data +#' str(HairEyeColor) #' #' collapse_levels( #' HairEyeColor, # Dataset @@ -56,6 +57,7 @@ #' data("Hoyt", package = "vcdExtra") #' ff_Hoyt <- as_freqform(Hoyt) #' names(ff_Hoyt)[length(ff_Hoyt)] <- "n" +#' str(ff_Hoyt) #' #' collapse_levels( #' ff_Hoyt, diff --git a/tests/testthat/test-collapse_levels.R b/tests/testthat/test-collapse_levels.R new file mode 100644 index 0000000..14dd16d --- /dev/null +++ b/tests/testthat/test-collapse_levels.R @@ -0,0 +1,34 @@ +data("HairEyeColor") +data("Hoyt", package = "vcdExtra") + +test_that("Equal sum produced via comparison with HairEyeColor data", { + coll.sum <- collapse_levels( + HairEyeColor, + Hair = list( + Dark = c("Black", "Brown"), + Light = c("Blond", "Red") + ), + Eye = list( + Common = c("Brown"), + Uncommon = c("Blue", "Green", "Hazel") + ) + ) |> sum() + expect_equal(sum(HairEyeColor), coll.sum) +}) + +test_that("Equal sum produced via comparison with Hoyt data", { + ff_Hoyt <- as_freqform(Hoyt) + names(ff_Hoyt)[length(ff_Hoyt)] <- "n" + + ff_coll <- collapse_levels( + ff_Hoyt, + freq = "n", + Occupation = list( + High = c(1, 2), + Middle = 3, + Low = 4, + VeryLow = c(5, 6, 7) + ) + ) + expect_equal(sum(ff_coll$Freq), sum(Hoyt)) +}) From dd5d19a8d34a3a5c363683761fe852d8fe4982a1 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sat, 28 Mar 2026 23:10:46 -0400 Subject: [PATCH 16/31] Fixed merge conflict artefact (missing comma) --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 62f803e..73854c1 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -62,7 +62,7 @@ Suggests: readxl, stringr, tidyr (>= 1.3.0), - factoextra + factoextra, rgl Imports: MASS, From 68dbaae578fbb2131ac2bd08d0fa0615b5bd662e Mon Sep 17 00:00:00 2001 From: gklorfine Date: Sun, 29 Mar 2026 22:17:05 -0400 Subject: [PATCH 17/31] Fixes to `collapse_levels` for case form data. --- R/collapse_levels.R | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/R/collapse_levels.R b/R/collapse_levels.R index 0201557..3c2d13a 100644 --- a/R/collapse_levels.R +++ b/R/collapse_levels.R @@ -81,6 +81,7 @@ collapse_levels <- function(x, freq = "Freq", ...){ argms <- list(...) x_class <- NULL + cf <- FALSE if (is(x, "array")) x_class <- "array" @@ -91,9 +92,13 @@ collapse_levels <- function(x, freq = "Freq", ...){ else if (is(x, "tbl")) x_class <- "tbl" - # Convert to data frame. Preserve new frequency column - coll_x <- as_freqform(x, freq = freq, tidy = FALSE) + if (!(freq %in% names(x)) && (is(x, "data.frame") || is(x, "tbl"))) { # For case form data + coll_x <- as_freqform(x, tidy = FALSE) + cf <- TRUE # Save that data is case form + } + else + coll_x <- as_freqform(x, freq = freq, tidy = FALSE) freq <- "Freq" @@ -133,5 +138,10 @@ collapse_levels <- function(x, freq = "Freq", ...){ coll_x <- dplyr::as_tibble(coll_x) } + if (cf && x_class == "tbl") + coll_x <- as_caseform(coll_x) + else if (cf && is(x, "data.frame")) + coll_x <- as_caseform(coll_x, tidy = FALSE) + return (coll_x) } \ No newline at end of file From a4d4e9fc942014e3487da6d4fd7e9edb75eaf7bd Mon Sep 17 00:00:00 2001 From: gklorfine Date: Mon, 30 Mar 2026 15:28:05 -0400 Subject: [PATCH 18/31] Added safeguards to `as_caseform()`. --- R/as_caseform.R | 22 ++++++++++++++++------ R/as_table.R | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/R/as_caseform.R b/R/as_caseform.R index 9029afb..dba7d18 100644 --- a/R/as_caseform.R +++ b/R/as_caseform.R @@ -23,7 +23,7 @@ #' \code{\link{as_table}}, \code{\link{as_freqform}}, \code{\link{as_array}}, #' \code{\link{as_matrix}}, \code{\link{expand.dft}} #' -#' @importFrom dplyr as_tibble +#' @importFrom dplyr as_tibble is.tbl #' #' @examples #' library(vcdExtra) @@ -52,11 +52,21 @@ as_caseform <- function(obj, freq = "Freq", dims = NULL, tidy = TRUE){ - tab <- expand.dft(as_table(obj, freq = freq, dims = dims), freq = freq) + if ((dplyr::is.tbl(obj) || is.data.frame(obj))) + freqs <- obj[[freq]] + else + freqs <- as.numeric(obj) - if (tidy){ - tab <- dplyr::as_tibble(tab) - } + if (any(freqs %% 1 != 0)) + stop("Frequency column contains decimal values.") + if (any(freqs < 0)) + stop("Frequency column contains negative values.") - return(tab) + tab <- as_table(obj, freq = freq, dims = dims) + cf <- expand.dft(tab, freq = freq) + + if (tidy) + cf <- dplyr::as_tibble(cf) + + return(cf) } \ No newline at end of file diff --git a/R/as_table.R b/R/as_table.R index 2b8fc7f..d72b4b2 100644 --- a/R/as_table.R +++ b/R/as_table.R @@ -87,7 +87,7 @@ as_table <- function(obj, freq = NULL, dims = NULL, prop = NULL){ tab_or_array <- TRUE } # If obj is a tibble, convert to data frame - else if (is(obj, "table")){ + else if (is(obj, "tbl")){ obj <- as.data.frame(obj) } From fcd525c4c834a641c32b40fbba23b998172c2d25 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Mon, 30 Mar 2026 19:05:29 -0400 Subject: [PATCH 19/31] Various fixes, started convert/collapse vignette. --- .gitignore | 1 + DESCRIPTION | 4 +- NAMESPACE | 6 + R/as_freqform.R | 6 +- R/collapse_levels.R | 6 +- man/as_freqform.Rd | 2 +- man/collapse_levels.Rd | 86 +++++++++ vignettes/convert-collapse.Rmd | 334 +++++++++++++++++++++++++++++++++ vignettes/fig/formhex.png | Bin 0 -> 243617 bytes 9 files changed, 438 insertions(+), 7 deletions(-) create mode 100644 man/collapse_levels.Rd create mode 100644 vignettes/convert-collapse.Rmd create mode 100644 vignettes/fig/formhex.png diff --git a/.gitignore b/.gitignore index 1a5d415..c9fcae5 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ revdep/ # Claude Code local settings .claude/ .DS_Store +inst/doc diff --git a/DESCRIPTION b/DESCRIPTION index 73854c1..532165f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -79,7 +79,9 @@ Imports: methods, knitr, htmlwidgets, - webshot2 + webshot2, + forcats, + rlang Description: Provides additional data sets, methods and documentation to complement the 'vcd' package for Visualizing Categorical Data and the 'gnm' package for Generalized Nonlinear Models. In particular, 'vcdExtra' extends mosaic, assoc and sieve plots from 'vcd' to handle 'glm()' and 'gnm()' models and diff --git a/NAMESPACE b/NAMESPACE index 0b8beaf..c264acd 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -58,6 +58,7 @@ export(assoc_graph) export(blogits) export(center3d) export(collapse.table) +export(collapse_levels) export(color_table) export(conditional) export(cutfac) @@ -97,7 +98,10 @@ importFrom(ca,multilines) importFrom(dplyr,all_of) importFrom(dplyr,as_tibble) importFrom(dplyr,everything) +importFrom(dplyr,is.tbl) importFrom(dplyr,rename) +importFrom(dplyr,summarise) +importFrom(forcats,fct_collapse) importFrom(gnm,meanResiduals) importFrom(grDevices,col2rgb) importFrom(grDevices,hsv) @@ -120,6 +124,8 @@ importFrom(htmlwidgets,saveWidget) importFrom(knitr,include_graphics) importFrom(knitr,is_html_output) importFrom(methods,is) +importFrom(rlang,.data) +importFrom(rlang,set_names) importFrom(stats,as.formula) importFrom(stats,chisq.test) importFrom(stats,deviance) diff --git a/R/as_freqform.R b/R/as_freqform.R index 3655e5d..fe58df2 100644 --- a/R/as_freqform.R +++ b/R/as_freqform.R @@ -23,7 +23,7 @@ #' \code{\link{as_table}}, \code{\link{as_caseform}}, \code{\link{as_array}}, #' \code{\link{as_matrix}} #' -#' @importFrom dplyr as_tibble rename +#' @importFrom dplyr as_tibble rename all_of #' #' @examples #' library(vcdExtra) @@ -49,7 +49,7 @@ #' #' as_freqform(tableForm, dims = c("Hair", "Eye")) |> str() #' -#' #' #-----For proportions-----# +#' #-----For proportions-----# #' #' as_freqform(tableForm, prop = TRUE) |> head() # print only Sex == Male rows #' @@ -80,7 +80,7 @@ as_freqform <- function(obj, freq = NULL, dims = NULL, prop = NULL, tidy = TRUE) freq <- "Freq" if (!is.null(prop)) - tab <- tab |> dplyr::rename("Prop" = all_of(freq)) + tab <- tab |> dplyr::rename("Prop" = dplyr::all_of(freq)) return(tab) } \ No newline at end of file diff --git a/R/collapse_levels.R b/R/collapse_levels.R index 3c2d13a..bb5e3ee 100644 --- a/R/collapse_levels.R +++ b/R/collapse_levels.R @@ -32,7 +32,7 @@ #' #' @importFrom methods is #' @importFrom rlang set_names .data -#' @importFrom dplyr as_tibble summarise +#' @importFrom dplyr as_tibble summarise all_of #' @importFrom forcats fct_collapse #' #' @examples @@ -123,7 +123,9 @@ collapse_levels <- function(x, freq = "Freq", ...){ # Combine duplicate rows - coll_x <- coll_x |> dplyr::summarise(Freq = sum(.data[[freq]]), .by = -all_of(freq)) + groups = setdiff(names(coll_x), freq) + coll_x <- coll_x |> + dplyr::summarise(Freq = sum(.data[[freq]]), .by = dplyr::all_of(groups)) # Return the user a collapsed object of same type as their input diff --git a/man/as_freqform.Rd b/man/as_freqform.Rd index f5f2a5a..6be045d 100644 --- a/man/as_freqform.Rd +++ b/man/as_freqform.Rd @@ -55,7 +55,7 @@ as_freqform(freqForm, freq = "Freq", dims = c("Hair", "Eye")) |> str() as_freqform(tableForm, dims = c("Hair", "Eye")) |> str() -#' #-----For proportions-----# +#-----For proportions-----# as_freqform(tableForm, prop = TRUE) |> head() # print only Sex == Male rows diff --git a/man/collapse_levels.Rd b/man/collapse_levels.Rd new file mode 100644 index 0000000..42a8c37 --- /dev/null +++ b/man/collapse_levels.Rd @@ -0,0 +1,86 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/collapse_levels.R +\name{collapse_levels} +\alias{collapse_levels} +\title{Collapse the levels of a dataset} +\usage{ +collapse_levels(x, freq = "Freq", ...) +} +\arguments{ +\item{x}{The dataset to be collapsed.} + +\item{freq}{Supply only if your data is in frequency form AND your frequency +column differs in name from the default ("Freq").} + +\item{\dots}{A collection of one or more assignments of dataset variables to +a list of levels in the format +\code{new_level = c("old_level_1", "old_level_2", ..., "old_level_n")}.} +} +\value{ +The collapsed dataset in its original form (i.e., the initial form of +\code{x}). +} +\description{ +Collapses the levels of a dataset (of any form) into those specified. May +also be used to re-name levels. Ensure argument \code{freq} is supplied +should your data be in frequency form (and the frequency column differs in +name from default, "Freq"). +} +\details{ +First converts the object \code{x} into a frequency form data frame. Then, +\code{\link[forcats]{fct_collapse}} is used to collapse variable levels. +Next, duplicate rows (an artefact of collapsing) are aggregated via +\code{\link[dplyr]{summarise}}. Last, the frequency form data frame is +converted back into the initial form of object \code{x}. +} +\examples{ +data("HairEyeColor") # Table form data +str(HairEyeColor) + +collapse_levels( + HairEyeColor, # Dataset + Hair = list( # List of arguments for first variable + Dark = c("Black", "Brown"), # Collapse "Black" and "Brown" -> "Dark" + Light = c("Blond", "Red") # Collapse "Blond" and "Red" -> "Light" + ), + Eye = list( # List of arguments for second variable + Common = c("Brown"), # Collapse (rename) "Brown" -> "Common" + Uncommon = c("Blue", "Green", "Hazel") + ) +) |> str() + +# To illustrate `freq` argument usage, convert Hoyt dataset to frequency form +# (ff) and then rename frequency column to "n" + +data("Hoyt", package = "vcdExtra") +ff_Hoyt <- as_freqform(Hoyt) +names(ff_Hoyt)[length(ff_Hoyt)] <- "n" +str(ff_Hoyt) + +collapse_levels( + ff_Hoyt, + + # Ensure to supply if data is in frequency form and frequency column name + # differs from "Freq" + freq = "n", + + Occupation = list( + High = c(1, 2), + Middle = 3, + Low = 4, + VeryLow = c(5, 6, 7) + ) +) |> str() + + +} +\seealso{ +\code{\link[forcats]{fct_collapse}}, \code{\link{collapse.table}} + +Tidy conversion functions: +\code{link{as_table}}, \code{link{as_freqform}}, \code{link{as_caseform}}, +\code{link{as_matrix}}, \code{link{as_array}}, +} +\author{ +Gavin M. Klorfine +} diff --git a/vignettes/convert-collapse.Rmd b/vignettes/convert-collapse.Rmd new file mode 100644 index 0000000..6eb8c5c --- /dev/null +++ b/vignettes/convert-collapse.Rmd @@ -0,0 +1,334 @@ +--- +title: "Steps Toward Tidy Categorical Data Analysis" +subtitle: "May the Forms Be with You: Novel Functions to Intuitively Convert Among Forms and Collapse Variable Levels Presented Using the `starwars` Data." +author: "Gavin M. Klorfine" +output: rmarkdown::html_vignette +package: vcdExtra +vignette: > + %\VignetteIndexEntry{Steps Toward Tidy Categorical Data Analysis} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + message = FALSE, + warning = FALSE, + fig.height = 6, + fig.width = 7, + dev = "png", + comment = "##" +) + +library(vcdExtra) +library(dplyr) +library(tidyr) +``` + +

+ +

+ +# Overview + +## Tidy Collapsing + +When trying to collapse levels of a variable in a dataset (e.g., combining hair +colours of "Brown" and "Black" into a "Dark" category), R had somewhat lacked +simple facilities for doing this. In fact, it was often the case that one would +need to first convert amongst forms, "collapse" their data, aggregate the +duplicate rows, and finally convert back to the initial form. + +`collapse_levels()` simplifies this process, allowing for the intuitive +collapsing of variable levels for datasets of any form. One just needs to ensure +that an argument of `freq = "the frequency column name"` is supplied when the +inputted dataset is in frequency form. + +Functionality of `collapse_levels()` is demonstrated below +using the `starwars` data from the +[`dplyr`](https://CRAN.R-project.org/package=dplyr) package. This dataset +contains case form data on various characters in the Star Wars franchise. +Variables considered in this vignette are a character's `hair_color`, +`skin_color`, and `eye_color`. Taken as is, this would correspond to an +$11 \times 28 \times 15$ contingency table... Time to collapse! + +Here I load the `starwars` data and select the variables of interest. For +simplicity, I then remove rows containing `NA` values. + +```{r overoll_loadselect} +data("starwars", package = "dplyr") + +star_case <- starwars |> + dplyr::select(c("hair_color", "skin_color", "eye_color")) |> + tidyr::drop_na() + +str(star_case) +``` + +First, taking a look at the levels of variable `hair_color`, there are many +ways one might want to collapse these categories: + +```{r overcoll_hairunique} +unique(star_case$hair_color) +``` + +***Example***: +Likely the most natural of these ways is the following: + +1. Collapse different spellings of `"blond"` (i.e., `"blond"` and `"blonde"` become `Blonde`). +1. Collapse different shades of `"brown"` (i.e., `"brown"` and `"brown, grey"` become `Brown`). +1. Collapse different shades of `"auburn"` (i.e., `"auburn, white"`, `"auburn, grey"`, and `"auburn"` become `Auburn`). +1. Keep `"none"` as-is. +1. Keep `"white"` as-is. +1. Keep `"grey"` as-is. +1. Keep `"Black"` as-is. + +Here is how to do this using `collapse_levels()`: + +```{r overcoll_ex1} +collapsed.star_case <- collapse_levels( + star_case, # The dataset + hair_color = list( # Assign the variable to be collapsed to a list + + # Format the list as NewLevel = c("old1", "old2", ..., "oldn") + Blonde = c("blond", "blonde"), + Brown = c("brown", "brown, grey"), + Auburn = c("auburn, white", "auburn, grey", "auburn") + ) +) +str(collapsed.star_case) +unique(collapsed.star_case$hair_color) +``` + +Second, one might also want to collapse levels of variable `skin_color`: + +```{r overcoll_skinunique} +unique(star_case$skin_color) +``` + +***Example***: +I decided to arbitrarily collapse these as follows: + +1. Keep `"none"` as-is. +1. Keep`"unknown"` as-is. +1. `Shades`, comprising all levels that begin with `"white"`, `"grey"`, `"dark"`, `"light"`, and `"fair"`. +1. `Rainbows`, comprising all other levels. + +```{r overcoll_ex2} +collapsed.star_case <- collapse_levels( + collapsed.star_case, + skin_color = list( + Shades = c( + "fair", "white", "light", "dark", "grey", "grey, red", + "grey, blue", "white, blue", "grey, green, yellow", "fair, green, yellow" + ), + Rainbows = c( + "green", "pale", "metal", "brown mottle", "brown", "mottled green", + "orange", "blue, grey", "red", "blue", "yellow", "tan", "silver, red", + "green, grey", "red, blue, white", "brown, white" + ) + ) +) +str(collapsed.star_case) +unique(collapsed.star_case$skin_color) +``` + +Third, one may also want to collapse levels of variable `eye_color`: + +```{r overcoll_eyeunique} +unique(star_case$eye_color) +``` + +***Example***: +Again, I decided to arbitrarily collapse these as follows: + +1. `Normal`, with levels of typical human eye color (i.e., `"blue"`, `"blue-gray"`, `"brown"`, `"hazel"`, and `"dark"`). +1. `Abnormal`, with levels of eye colours that would be abnormal for humans (e.g., `"red"`, `"pink"`, `"gold"`, etc.). +1. Keep `unknown` as-is. + +```{r overcoll_ex3} +collapsed.star_case <- collapse_levels( + collapsed.star_case, + eye_color = list( + Normal = c("blue", "brown", "blue-gray", "hazel", "dark"), + Abnormal = c( + "yellow", "red", "orange", "black", "pink", "red, blue", "gold", + "green, yellow", "white" + ) + ) +) +str(collapsed.star_case) +unique(collapsed.star_case$eye_color) +``` + +In addition, one may want (and is able) to collapse levels of multiple variables +in a single call to `collapse_levels()`. + +***Example***: +To illustrate this (and to provide an easy working example for the following +"Tidy Conversions" section), the `collapsed.star_case` data is arbitrarily +collapsed as follows to correspond to a $3 \times 3 \times 3$ contingency table: + +1. Variable `hair_color`: + a. `Dark` corresponding to levels `"Brown"`, `"black"`, and `"Auburn"`. + b. `Light` corresponding to levels `"Blonde"`, `"white"`, and `"grey"`. + c. Keep `"none"` as-is. +1. Variable `skin_color`: + a. `Other` corresponding to levels `"none"` and `"unknown"`. + b. Keep `Rainbows` as-is. + c. Keep `Shades` as-is. +1. Variable `eye_color` kept as-is. + +```{r overcoll_ex4} +collapsed.star_case <- collapse_levels( + collapsed.star_case, + hair_color = list( # First variable + Dark = c("Brown", "black", "Auburn"), + Light = c("Blonde", "white", "grey") + ), + skin_color = list( # Second variable + Other = c("none", "unknown") + ) +) +unique(collapsed.star_case$hair_color) +unique(collapsed.star_case$skin_color) +str(collapsed.star_case) +``` + +## Tidy Conversions + +Until now, converting amongst forms of categorical data in R has been somewhat +onerous. As outlined in +[1. Creating and manipulating frequency tables]( a1-creating.html), +the below table shows the typical process for converting among forms +(`A`, `B`, and `C` represent categorical variables, `X` represents an R data +object): + +| **From this** | | **To this** | | +|:-----------------|:--------------------|:---------------------|-------------------| +| | _Case form_ | _Frequency form_ | _Table form_ | +| _Case form_ | noop | `xtabs(~A+B)` | `table(A,B)` | +| _Frequency form_ | `expand.dft(X)` | noop | `xtabs(count~A+B)`| +| _Table form_ | `expand.dft(X)` | `as.data.frame(X)` | noop | + +Instead, one may simply use `as_table(X)` to convert to table form, +`as_freqform(X)` to convert to frequency form, and `as_caseform(X)` to convert +to case form. Additionally, there are functions `as_array(X)` and `as_matrix(X)` +for converting to those respective types. + +Like `collapse_levels()`, the single thing to keep in mind when employing these functions is the following: +when your object `X` is in frequency form, an argument of +`freq = "your frequency column name"` must be supplied. + +Functionality of these "tidy" conversion functions are demonstrated below +using the `collapsed.star_case` data from the most recent example (i.e., the +data corresponding to a $3 \times 3 \times 3$ contingency table). + +***Example***: +Convert the `collapsed.star_case` data into frequency form. Name this data +`star_freqform`. + +```{r overconv-ex1} +star_freqform <- as_freqform(collapsed.star_case) + +str(star_freqform) +``` + +***Example***: +Convert the frequency form data, `star_freqform`, into table form. Name this +data `star_tab`. Because we are converting *from* frequency form, the +`freq = "frequency column name"` argument must be supplied. + +```{r overconv-ex2} +star_tab <- as_table(star_freqform, freq = "Freq") + +str(star_tab) +``` + +***Example***: +Convert the table form data, `star_tab`, into an array. Name this +data `star_array`. + +```{r overconv-ex3} +star_array <- as_array(star_tab) + +class(star_array) +str(star_array) +``` + +To convert to a matrix, one also needs to specify row and column dimensions. +This is done using the `dims = c("dim1", "dim2", ..., "dim_n")` argument, which +works by summing over the dimensions excluded from this call. + +***Example***: +Convert the array form data, `star_array`, into a matrix with dimensions +`"hair_color"` and `"eye_color"`. Name this data `star_mat`. + +```{r overconv-ex4} +star_mat <- as_matrix(star_array, dims = c("hair_color", "eye_color")) + +class(star_mat) +str(star_mat) +``` + +Note that the `dims` argument works the same way for all other tidy conversion +functions. + +***Example***: +Convert the table form data, `star_tab`, into frequency form with dimensions +`"hair_color"` and `"eye_color"`. + +```{r overconv-ex5} +as_freqform(star_tab, dims = c("hair_color", "eye_color")) |> str() +``` + +#### Proportions + +The last piece of these conversion functions is the `prop` argument, allowing +users to convert cells/frequencies to proportions. Calculated proportions may +either be relative to the grand total (`prop = TRUE`) or to one or more margins +(`prop = c("margin1", "margin2", ... "margin_n")`). + +Note that `as_caseform()` is the only of the tidy conversion functions to not +include a `prop` argument. Also, `as_caseform()` will not convert proportional +data.^[This was a deliberate choice, as once proportions are relative to +margins, it becomes unclear how to convert these proportions back to +the original entries.] + +***Example***: +Convert `star_mat` into a table of proportions that are relative to the grand +total. + +```{r propconv-ex1} +star_mat # To view the original + +as_table(star_mat, prop = TRUE) +``` + +***Example***: +Convert `star_mat` into a table of proportions that are relative to the marginal +sums of `hair_color`. + +```{r propconv-ex2} +as_table(star_mat, prop = "hair_color") +``` + +***Example***: +Convert `star_mat` into a table of proportions that are relative to the marginal +sums of both `hair_color` and `eye_color`. Since these are the only two +dimensions, cell proportions will all be equal to $1.0$ (except for cells where +no data exists). + +```{r propconv-ex3} +as_table(star_mat, prop = c("hair_color", "eye_color")) +``` + +# Taken Together + +Taking `collapse_levels()` and the tidy conversion functions together, one now +has an intuitive framework for manipulating categorical data. + +***Example***: +Starting with the initial `star_case` data, collapse variable levels (according +to the end result of the previous examples), \ No newline at end of file diff --git a/vignettes/fig/formhex.png b/vignettes/fig/formhex.png new file mode 100644 index 0000000000000000000000000000000000000000..08005b62269968e915a65e8403ec42f10f4d15f0 GIT binary patch literal 243617 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%0Ai2Ix4pP2zEI01HTB4sk?5? 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

7iE(RXJGaA99ix_4cr)Rx= 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

H=tvtIQGU>lgP1?ly@;@Q$8f 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

  • RR2~fe?}d4 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%0Ae^J`($3DwT! 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 Date: Tue, 31 Mar 2026 12:37:21 -0400 Subject: [PATCH 20/31] Add `prop` arguments for `as_array`, `as_matrix`. --- R/as_array.R | 37 ++++++++++++++++++++++++++++++++----- R/as_matrix.R | 38 +++++++++++++++++++++++++++++--------- 2 files changed, 61 insertions(+), 14 deletions(-) diff --git a/R/as_array.R b/R/as_array.R index 9b151fc..1199073 100644 --- a/R/as_array.R +++ b/R/as_array.R @@ -4,9 +4,18 @@ #' column containing the frequencies (`freq`) must be supplied if `obj` is in #' frequency form. #' -#' @param obj object to be converted to an array -#' @param freq If `obj` is in frequency form, this is the name of the frequency column. Leave as `NULL` if `obj` is in any other form. -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions +#' @param obj +#' Object to be converted to an array. +#' @param freq +#' If `obj` is in frequency form, this is the name of the frequency column. +#' Leave as `NULL` if `obj` is in any other form. +#' @param dims +#' A character vector of dimensions. If not specified, all variables apart from +#' `freq` will be used as dimensions. +#' @param prop +#' If set to `TRUE`, returns an array of proportions (that sum to 1). May also +#' be set to a character or numeric vector of dimensions to be used as margins +#' from which proportions will be computed. #' @return object in array form #' #' @details @@ -42,9 +51,27 @@ #' # For specific dimensions #' as_array(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() #' +#' #-----For proportions-----# +#' +#' as_array(freqForm, freq = "Freq", prop = TRUE) |> # proportions relative to grand total +#' head(c(4,4,1)) +#' +#' # Marginalize proportions along "Sex" (i.e., male proportions sum to 1, female proportions sum to 1) +#' as_array(freqForm, freq = "Freq", prop = "Sex") |> head(c(4,4,1)) +#' +#' as_array(freqForm, freq = "Freq", prop = 3) |> head(c(4,4,1)) # Same as above +#' +#' # Marginalize proportions along multiple variables +#' as_array(freqForm, freq = "Freq", prop = c("Hair", "Sex")) |> head(c(4,4,1)) +#' +#' as_array(freqForm, freq = "Freq", prop = c(1, 3)) |> head(c(4,4,1)) # Same as above +#' +#' # Using dims and prop arguments in tandem +#' as_array(freqForm, freq = "Freq", dims = c("Hair", "Eye"), prop = TRUE) +#' #' #' @export -as_array <- function(obj, freq = NULL, dims = NULL){ - return(unclass(as_table(obj, freq, dims))) # Unclass as_table output +as_array <- function(obj, freq = NULL, dims = NULL, prop = NULL){ + return(unclass(as_table(obj, freq, dims, prop))) # Unclass as_table output } \ No newline at end of file diff --git a/R/as_matrix.R b/R/as_matrix.R index bbc794f..7944ee4 100644 --- a/R/as_matrix.R +++ b/R/as_matrix.R @@ -4,9 +4,18 @@ #' specified dimensions (`dims`). The column containing the frequencies (`freq`) #' must be supplied if `obj` is in frequency form. #' -#' @param obj Object to be converted into a matrix -#' @param freq If `obj` is in frequency form, this is the name of the frequency column. Leave as `NULL` if `obj` is in any other form. -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions. +#' @param obj +#' Object to be converted into a matrix. +#' @param freq +#' If `obj` is in frequency form, this is the name of the frequency column. +#' Leave as `NULL` if `obj` is in any other form. +#' @param dims +#' A character vector of dimensions. If not specified, all variables apart from +#' `freq` will be used as dimensions. +#' @param prop +#' If set to `TRUE`, returns a matrix of proportions (that sum to 1). May also +#' be set to a character or numeric vector of dimensions to be used as margins +#' from which proportions will be computed. #' @return Object in matrix form. #' #' @details @@ -31,23 +40,34 @@ #' arrayDat <- as_array(HairEyeColor) # Generate an array #' #' # Table form -> matrix -#' as_matrix(HairEyeColor, dims = c("Hair","Eye")) |> str() +#' as_matrix(HairEyeColor, dims = c("Hair", "Sex")) |> str() #' #' # Frequency form -> matrix -#' as_matrix(freqForm, freq = "Freq", dims = c("Hair","Eye")) |> str() +#' as_matrix(freqForm, freq = "Freq", dims = c("Hair", "Sex")) |> str() #' #' # Case form -> matrix form -#' as_matrix(caseForm, dims = c("Hair", "Eye")) |> str() +#' as_matrix(caseForm, dims = c("Hair", "Sex")) |> str() #' #' # Frequency (tibble) form -> matrix form -#' as_matrix(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() +#' as_matrix(tidy_freqForm, freq = "n", dims = c("Hair", "Sex")) |> str() +#' +#' #-----For proportions-----# +#' +#' # Proportions relative to grand total +#' as_matrix(HairEyeColor, dims = c("Hair", "Sex"), prop = TRUE) +#' +#' # Marginalize proportions along "Sex" (i.e., male proportions sum to 1, +#' # female proportions sum to 1) +#' as_matrix(HairEyeColor, dims = c("Hair", "Sex"), prop = "Sex") +#' +#' as_matrix(HairEyeColor, dims = c("Hair", "Sex"), prop = 2) # Same as above #' #' #' @export -as_matrix <- function(obj, freq = NULL, dims = NULL){ +as_matrix <- function(obj, freq = NULL, dims = NULL, prop = NULL){ - tab <- as_array(obj, freq = freq, dims = dims) + tab <- as_array(obj, freq = freq, dims = dims, prop = prop) if (length(dim(tab)) == 2){ # If number of dimensions equal 2 return(as.matrix(tab)) From a5bd165fec7c82c7c0bbd1b893f5d568afd5690d Mon Sep 17 00:00:00 2001 From: gklorfine Date: Tue, 31 Mar 2026 12:37:54 -0400 Subject: [PATCH 21/31] Minor documentation formatting. --- R/as_caseform.R | 14 ++++++++++---- R/as_freqform.R | 20 +++++++++++++++----- R/as_table.R | 16 ++++++++++++---- man/as_array.Rd | 32 ++++++++++++++++++++++++++++---- man/as_caseform.Rd | 10 ++++++---- man/as_freqform.Rd | 13 +++++++++---- man/as_matrix.Rd | 33 +++++++++++++++++++++++++-------- man/as_table.Rd | 10 +++++++--- 8 files changed, 112 insertions(+), 36 deletions(-) diff --git a/R/as_caseform.R b/R/as_caseform.R index dba7d18..1de399e 100644 --- a/R/as_caseform.R +++ b/R/as_caseform.R @@ -4,10 +4,16 @@ #' column containing the frequencies (`freq`) must be supplied if `obj` is in #' frequency form. Returns a tibble if `tidy` is set to `TRUE`. #' -#' @param obj object to be converted to case form -#' @param freq If `obj` is in frequency form, this is the name of the frequency column. If `obj` is in any other form, do not supply an argument (see "Details") -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions -#' @param tidy returns a tibble if set to TRUE +#' @param obj +#' Object to be converted to case form. +#' @param freq +#' If `obj` is in frequency form, this is the name of the frequency column. If +#' `obj` is in any other form, do not supply an argument (see "Details"). +#' @param dims +#' A character vector of dimensions. If not specified, all variables apart from +#' `freq` will be used as dimensions. +#' @param tidy +#' Returns a tibble if set to `TRUE`. #' @return object in case form. #' #' @details diff --git a/R/as_freqform.R b/R/as_freqform.R index fe58df2..d9da568 100644 --- a/R/as_freqform.R +++ b/R/as_freqform.R @@ -6,11 +6,21 @@ #' already in frequency form (and you are using this function to select #' dimensions). Returns a tibble if `tidy` is set to `TRUE`. #' -#' @param obj Object to be converted to frequency form. -#' @param freq If `obj` is already in frequency form, this is the name of the frequency column. If `obj` is in any other form, do not supply an argument (see "Details"). -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions. -#' @param prop If set to `TRUE`, the resulting "frequency" column will contain proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed. The resulting "frequency" column is renamed to "Prop." -#' @param tidy Returns a tibble if set to `TRUE.` +#' @param obj +#' Object to be converted to frequency form. +#' @param freq +#' If `obj` is already in frequency form, this is the name of the frequency +#' column. If `obj` is in any other form, do not supply an argument (see "Details"). +#' @param dims +#' A character vector of dimensions. If not specified, all variables apart from +#' `freq` will be used as dimensions. +#' @param prop +#' If set to `TRUE`, the resulting "frequency" column will contain proportions +#' (that sum to 1). May also be set to a character or numeric vector of +#' dimensions to be used as margins from which proportions will be computed. +#' The resulting "frequency" column is renamed to "Prop." +#' @param tidy +#' Returns a tibble if set to `TRUE`. #' @return Object in frequency form. #' #' @details diff --git a/R/as_table.R b/R/as_table.R index d72b4b2..4d9f97c 100644 --- a/R/as_table.R +++ b/R/as_table.R @@ -4,10 +4,18 @@ #' column containing the frequencies (`freq`) must be supplied if `obj` is in #' frequency form. Optionally returns a table of proportions with (optionally) specified margins. #' -#' @param obj Object to be converted to table form. -#' @param freq If `obj` is in frequency form, this is the name of the frequency column. Leave as `NULL` if `obj` is in any other form. -#' @param dims A character vector of dimensions. If not specified, all variables apart from `freq` will be used as dimensions. -#' @param prop If set to `TRUE`, returns a table of proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed. +#' @param obj +#' Object to be converted to table form. +#' @param freq +#' If `obj` is in frequency form, this is the name of the frequency column. +#' Leave as `NULL` if `obj` is in any other form. +#' @param dims +#' A character vector of dimensions. If not specified, all variables apart from +#' `freq` will be used as dimensions. +#' @param prop +#' If set to `TRUE`, returns a table of proportions (that sum to 1). May also +#' be set to a character or numeric vector of dimensions to be used as margins +#' from which proportions will be computed. #' @return Object in table form. #' #' @details diff --git a/man/as_array.Rd b/man/as_array.Rd index 27d1da6..78974a1 100644 --- a/man/as_array.Rd +++ b/man/as_array.Rd @@ -4,14 +4,20 @@ \alias{as_array} \title{Convert frequency, case, or table form data into an array} \usage{ -as_array(obj, freq = NULL, dims = NULL) +as_array(obj, freq = NULL, dims = NULL, prop = NULL) } \arguments{ -\item{obj}{object to be converted to an array} +\item{obj}{Object to be converted to an array.} -\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. Leave as \code{NULL} if \code{obj} is in any other form.} +\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. +Leave as \code{NULL} if \code{obj} is in any other form.} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from +\code{freq} will be used as dimensions.} + +\item{prop}{If set to \code{TRUE}, returns an array of proportions (that sum to 1). May also +be set to a character or numeric vector of dimensions to be used as margins +from which proportions will be computed.} } \value{ object in array form @@ -48,6 +54,24 @@ as_array(tidy_freqForm, freq = "n") |> str() # For specific dimensions as_array(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() +#-----For proportions-----# + +as_array(freqForm, freq = "Freq", prop = TRUE) |> # proportions relative to grand total + head(c(4,4,1)) + +# Marginalize proportions along "Sex" (i.e., male proportions sum to 1, female proportions sum to 1) +as_array(freqForm, freq = "Freq", prop = "Sex") |> head(c(4,4,1)) + +as_array(freqForm, freq = "Freq", prop = 3) |> head(c(4,4,1)) # Same as above + +# Marginalize proportions along multiple variables +as_array(freqForm, freq = "Freq", prop = c("Hair", "Sex")) |> head(c(4,4,1)) + +as_array(freqForm, freq = "Freq", prop = c(1, 3)) |> head(c(4,4,1)) # Same as above + +# Using dims and prop arguments in tandem +as_array(freqForm, freq = "Freq", dims = c("Hair", "Eye"), prop = TRUE) + } \seealso{ diff --git a/man/as_caseform.Rd b/man/as_caseform.Rd index 636c67c..b781bb8 100644 --- a/man/as_caseform.Rd +++ b/man/as_caseform.Rd @@ -7,13 +7,15 @@ as_caseform(obj, freq = "Freq", dims = NULL, tidy = TRUE) } \arguments{ -\item{obj}{object to be converted to case form} +\item{obj}{Object to be converted to case form.} -\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. If \code{obj} is in any other form, do not supply an argument (see "Details")} +\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. If +\code{obj} is in any other form, do not supply an argument (see "Details").} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from +\code{freq} will be used as dimensions.} -\item{tidy}{returns a tibble if set to TRUE} +\item{tidy}{Returns a tibble if set to \code{TRUE}.} } \value{ object in case form. diff --git a/man/as_freqform.Rd b/man/as_freqform.Rd index 6be045d..1e23dd6 100644 --- a/man/as_freqform.Rd +++ b/man/as_freqform.Rd @@ -9,13 +9,18 @@ as_freqform(obj, freq = NULL, dims = NULL, prop = NULL, tidy = TRUE) \arguments{ \item{obj}{Object to be converted to frequency form.} -\item{freq}{If \code{obj} is already in frequency form, this is the name of the frequency column. If \code{obj} is in any other form, do not supply an argument (see "Details").} +\item{freq}{If \code{obj} is already in frequency form, this is the name of the frequency +column. If \code{obj} is in any other form, do not supply an argument (see "Details").} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions.} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from +\code{freq} will be used as dimensions.} -\item{prop}{If set to \code{TRUE}, the resulting "frequency" column will contain proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed. The resulting "frequency" column is renamed to "Prop."} +\item{prop}{If set to \code{TRUE}, the resulting "frequency" column will contain proportions +(that sum to 1). May also be set to a character or numeric vector of +dimensions to be used as margins from which proportions will be computed. +The resulting "frequency" column is renamed to "Prop."} -\item{tidy}{Returns a tibble if set to \code{TRUE.}} +\item{tidy}{Returns a tibble if set to \code{TRUE}.} } \value{ Object in frequency form. diff --git a/man/as_matrix.Rd b/man/as_matrix.Rd index 02b23cf..0da3d01 100644 --- a/man/as_matrix.Rd +++ b/man/as_matrix.Rd @@ -4,14 +4,20 @@ \alias{as_matrix} \title{Convert frequency, case, or table form data into a matrix.} \usage{ -as_matrix(obj, freq = NULL, dims = NULL) +as_matrix(obj, freq = NULL, dims = NULL, prop = NULL) } \arguments{ -\item{obj}{Object to be converted into a matrix} +\item{obj}{Object to be converted into a matrix.} -\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. Leave as \code{NULL} if \code{obj} is in any other form.} +\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. +Leave as \code{NULL} if \code{obj} is in any other form.} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions.} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from +\code{freq} will be used as dimensions.} + +\item{prop}{If set to \code{TRUE}, returns a matrix of proportions (that sum to 1). May also +be set to a character or numeric vector of dimensions to be used as margins +from which proportions will be computed.} } \value{ Object in matrix form. @@ -37,16 +43,27 @@ caseForm <- expand.dft(freqForm) # Generate case form data arrayDat <- as_array(HairEyeColor) # Generate an array # Table form -> matrix -as_matrix(HairEyeColor, dims = c("Hair","Eye")) |> str() +as_matrix(HairEyeColor, dims = c("Hair", "Sex")) |> str() # Frequency form -> matrix -as_matrix(freqForm, freq = "Freq", dims = c("Hair","Eye")) |> str() +as_matrix(freqForm, freq = "Freq", dims = c("Hair", "Sex")) |> str() # Case form -> matrix form -as_matrix(caseForm, dims = c("Hair", "Eye")) |> str() +as_matrix(caseForm, dims = c("Hair", "Sex")) |> str() # Frequency (tibble) form -> matrix form -as_matrix(tidy_freqForm, freq = "n", dims = c("Hair", "Eye")) |> str() +as_matrix(tidy_freqForm, freq = "n", dims = c("Hair", "Sex")) |> str() + +#-----For proportions-----# + +# Proportions relative to grand total +as_matrix(HairEyeColor, dims = c("Hair", "Sex"), prop = TRUE) + +# Marginalize proportions along "Sex" (i.e., male proportions sum to 1, +# female proportions sum to 1) +as_matrix(HairEyeColor, dims = c("Hair", "Sex"), prop = "Sex") + +as_matrix(HairEyeColor, dims = c("Hair", "Sex"), prop = 2) # Same as above } diff --git a/man/as_table.Rd b/man/as_table.Rd index f14f0b1..2c55d4e 100644 --- a/man/as_table.Rd +++ b/man/as_table.Rd @@ -9,11 +9,15 @@ as_table(obj, freq = NULL, dims = NULL, prop = NULL) \arguments{ \item{obj}{Object to be converted to table form.} -\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. Leave as \code{NULL} if \code{obj} is in any other form.} +\item{freq}{If \code{obj} is in frequency form, this is the name of the frequency column. +Leave as \code{NULL} if \code{obj} is in any other form.} -\item{dims}{A character vector of dimensions. If not specified, all variables apart from \code{freq} will be used as dimensions.} +\item{dims}{A character vector of dimensions. If not specified, all variables apart from +\code{freq} will be used as dimensions.} -\item{prop}{If set to \code{TRUE}, returns a table of proportions (that sum to 1). May also be set to a character or numeric vector of dimensions to be used as margins from which proportions will be computed.} +\item{prop}{If set to \code{TRUE}, returns a table of proportions (that sum to 1). May also +be set to a character or numeric vector of dimensions to be used as margins +from which proportions will be computed.} } \value{ Object in table form. From ec7b8d253031c05e8a833c21647d86586f895499 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Tue, 31 Mar 2026 12:41:26 -0400 Subject: [PATCH 22/31] Prevent roxygen2 from seeing `expand.dft` and `expand.table` as S3 methods. --- R/expand.dft.R | 193 +++++++++++++++++++++++++------------------------ 1 file changed, 97 insertions(+), 96 deletions(-) diff --git a/R/expand.dft.R b/R/expand.dft.R index fa8f777..65ec498 100644 --- a/R/expand.dft.R +++ b/R/expand.dft.R @@ -1,96 +1,97 @@ -# Originally from Marc Schwarz -# Ref: http://tolstoy.newcastle.edu.au/R/e6/help/09/01/1873.html - -# 23 Feb 22: Fix warning from type.convert - - - -#' Expand a frequency table to case form -#' -#' Converts a frequency table, given either as a table object or a data frame -#' in frequency form to a data frame representing individual observations in -#' the table. -#' -#' `expand.table` is a synonym for `expand.dft`. -#' -#' @aliases expand.dft expand.table -#' @param x A table object, or a data frame in frequency form containing -#' factors and one numeric variable representing the cell frequency for that -#' combination of factors. -#' @param var.names A list of variable names for the factors, if you wish to -#' override those already in the table -#' @param freq The name of the frequency variable in the table -#' @param \dots Other arguments passed down to `type.convert`. In -#' particular, pay attention to `na.strings` (default: -#' `na.strings=NA` if there are missing cells) and `as.is` (default: -#' `as.is=FALSE`, converting character vectors to factors). -#' @return A data frame containing the factors in the table and as many -#' observations as are represented by the total of the `freq` variable. -#' @author Mark Schwarz -#' @seealso \code{\link[utils]{type.convert}}, -#' \code{\link[gnm]{expandCategorical}} -#' @references Originally posted on R-Help, Jan 20, 2009, -#' http://tolstoy.newcastle.edu.au/R/e6/help/09/01/1873.html -#' -#' Friendly, M. and Meyer, D. (2016). *Discrete Data Analysis with R: -#' Visualization and Modeling Techniques for Categorical and Count Data*. Boca -#' Raton, FL: Chapman & Hall/CRC. . -#' @keywords manip array -#' @examples -#' -#' library(vcd) -#' art <- xtabs(~Treatment + Improved, data = Arthritis) -#' art -#' artdf <- expand.dft(art) -#' str(artdf) -#' -#' # 1D case -#' (tab <- table(sample(head(letters), 20, replace=TRUE))) -#' expand.table(tab, var.names="letter") -#' -#' -#' @export -expand.dft <- function(x, var.names = NULL, freq = "Freq", ...) -{ - # allow: a table object, or a data frame in frequency form - if(inherits(x, "table")) - x <- as.data.frame.table(x, responseName = freq) - - freq.col <- which(colnames(x) == freq) - if (length(freq.col) == 0) - stop(paste(sQuote("freq"), "not found in column names")) - - DF <- sapply(1:nrow(x), - function(i) x[rep(i, each = x[i, freq.col, drop = TRUE]), ], - simplify = FALSE) - - DF <- do.call("rbind", DF)[, -freq.col, drop=FALSE] - - for (i in 1:ncol(DF)) - { - DF[[i]] <- type.convert(as.character(DF[[i]]), as.is=TRUE, ...) -## DONE ##: Generates warning: -## 1: In type.convert.default(as.character(DF[[i]]), ...) : -## 'as.is' should be specified by the caller; using TRUE - } - - rownames(DF) <- NULL - - if (!is.null(var.names)) - { - if (length(var.names) < dim(DF)[2]) - { - stop(paste("Too few", sQuote("var.names"), "given.")) - } else if (length(var.names) > dim(DF)[2]) { - stop(paste("Too many", sQuote("var.names"), "given.")) - } else { - names(DF) <- var.names - } - } - - DF -} - -# make this a synonym -#' @export -expand.table <- expand.dft +# Originally from Marc Schwarz +# Ref: http://tolstoy.newcastle.edu.au/R/e6/help/09/01/1873.html + +# 23 Feb 22: Fix warning from type.convert + + + +#' Expand a frequency table to case form +#' +#' Converts a frequency table, given either as a table object or a data frame +#' in frequency form to a data frame representing individual observations in +#' the table. +#' +#' `expand.table` is a synonym for `expand.dft`. +#' +#' @aliases expand.dft expand.table +#' @param x A table object, or a data frame in frequency form containing +#' factors and one numeric variable representing the cell frequency for that +#' combination of factors. +#' @param var.names A list of variable names for the factors, if you wish to +#' override those already in the table +#' @param freq The name of the frequency variable in the table +#' @param \dots Other arguments passed down to `type.convert`. In +#' particular, pay attention to `na.strings` (default: +#' `na.strings=NA` if there are missing cells) and `as.is` (default: +#' `as.is=FALSE`, converting character vectors to factors). +#' @return A data frame containing the factors in the table and as many +#' observations as are represented by the total of the `freq` variable. +#' @author Mark Schwarz +#' @seealso \code{\link[utils]{type.convert}}, +#' \code{\link[gnm]{expandCategorical}} +#' @references Originally posted on R-Help, Jan 20, 2009, +#' http://tolstoy.newcastle.edu.au/R/e6/help/09/01/1873.html +#' +#' Friendly, M. and Meyer, D. (2016). *Discrete Data Analysis with R: +#' Visualization and Modeling Techniques for Categorical and Count Data*. Boca +#' Raton, FL: Chapman & Hall/CRC. . +#' @keywords manip array +#' @examples +#' +#' library(vcd) +#' art <- xtabs(~Treatment + Improved, data = Arthritis) +#' art +#' artdf <- expand.dft(art) +#' str(artdf) +#' +#' # 1D case +#' (tab <- table(sample(head(letters), 20, replace=TRUE))) +#' expand.table(tab, var.names="letter") +#' +#' +#' @export expand.dft +expand.dft <- function(x, var.names = NULL, freq = "Freq", ...) +{ + # allow: a table object, or a data frame in frequency form + if(inherits(x, "table")) + x <- as.data.frame.table(x, responseName = freq) + + freq.col <- which(colnames(x) == freq) + if (length(freq.col) == 0) + stop(paste(sQuote("freq"), "not found in column names")) + + DF <- sapply(1:nrow(x), + function(i) x[rep(i, each = x[i, freq.col, drop = TRUE]), ], + simplify = FALSE) + + DF <- do.call("rbind", DF)[, -freq.col, drop=FALSE] + + for (i in 1:ncol(DF)) + { + DF[[i]] <- type.convert(as.character(DF[[i]]), as.is=TRUE, ...) +## DONE ##: Generates warning: +## 1: In type.convert.default(as.character(DF[[i]]), ...) : +## 'as.is' should be specified by the caller; using TRUE + } + + rownames(DF) <- NULL + + if (!is.null(var.names)) + { + if (length(var.names) < dim(DF)[2]) + { + stop(paste("Too few", sQuote("var.names"), "given.")) + } else if (length(var.names) > dim(DF)[2]) { + stop(paste("Too many", sQuote("var.names"), "given.")) + } else { + names(DF) <- var.names + } + } + + DF +} + +# make this a synonym +#' @usage expand.table(x, var.names = NULL, freq = "Freq", ...) +#' @export expand.table +expand.table <- expand.dft From 486b017d4325a15b8147cbc0943de2a84a76fcf2 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Tue, 31 Mar 2026 12:51:27 -0400 Subject: [PATCH 23/31] Updated draft of convert-collapse vignette. --- vignettes/convert-collapse.Rmd | 93 +++++++++++++++++++++++++++++++--- 1 file changed, 86 insertions(+), 7 deletions(-) diff --git a/vignettes/convert-collapse.Rmd b/vignettes/convert-collapse.Rmd index 6eb8c5c..d48b9aa 100644 --- a/vignettes/convert-collapse.Rmd +++ b/vignettes/convert-collapse.Rmd @@ -115,6 +115,11 @@ I decided to arbitrarily collapse these as follows: 1. `Shades`, comprising all levels that begin with `"white"`, `"grey"`, `"dark"`, `"light"`, and `"fair"`. 1. `Rainbows`, comprising all other levels. +Note that when working with real data, arbitrary decisions involving the +collapsing of variable levels are a *VERY* bad idea. Collapses should be +grounded in strong, data-driven justification. Arbitrary collapsing is employed +in this vignette purely for pedagogical and illustrative purposes. + ```{r overcoll_ex2} collapsed.star_case <- collapse_levels( collapsed.star_case, @@ -235,12 +240,23 @@ star_freqform <- as_freqform(collapsed.star_case) str(star_freqform) ``` +Note that if one would like a data frame instead of a tibble, an argument of +`tidy = FALSE` needs to be provided. Naturally, this `tidy` argument is present +only in functions `as_freqform()` and `as_caseform()`. + +***Example***: +Convert the `collapsed.star_case` data into a data frame in frequency form. + +```{r overconv-ex2} +as_freqform(collapsed.star_case, tidy = FALSE) |> str() +``` + ***Example***: Convert the frequency form data, `star_freqform`, into table form. Name this data `star_tab`. Because we are converting *from* frequency form, the `freq = "frequency column name"` argument must be supplied. -```{r overconv-ex2} +```{r overconv-ex3} star_tab <- as_table(star_freqform, freq = "Freq") str(star_tab) @@ -250,7 +266,7 @@ str(star_tab) Convert the table form data, `star_tab`, into an array. Name this data `star_array`. -```{r overconv-ex3} +```{r overconv-ex4} star_array <- as_array(star_tab) class(star_array) @@ -259,13 +275,15 @@ str(star_array) To convert to a matrix, one also needs to specify row and column dimensions. This is done using the `dims = c("dim1", "dim2", ..., "dim_n")` argument, which -works by summing over the dimensions excluded from this call. +works by summing over the dimensions excluded from this call. The first provided +dimension is taken as the row dimension, with the second dimension taken as the +column dimension. ***Example***: Convert the array form data, `star_array`, into a matrix with dimensions `"hair_color"` and `"eye_color"`. Name this data `star_mat`. -```{r overconv-ex4} +```{r overconv-ex5} star_mat <- as_matrix(star_array, dims = c("hair_color", "eye_color")) class(star_mat) @@ -279,7 +297,7 @@ functions. Convert the table form data, `star_tab`, into frequency form with dimensions `"hair_color"` and `"eye_color"`. -```{r overconv-ex5} +```{r overconv-ex6} as_freqform(star_tab, dims = c("hair_color", "eye_color")) |> str() ``` @@ -330,5 +348,66 @@ Taking `collapse_levels()` and the tidy conversion functions together, one now has an intuitive framework for manipulating categorical data. ***Example***: -Starting with the initial `star_case` data, collapse variable levels (according -to the end result of the previous examples), \ No newline at end of file +The `starwars` data also has a variable named `homeworld`, specifying the planet +that a given character was from. The below code does the following: + +1. Create data `home_star` from dataset `starwars`. The new data includes both `homeworld` and the previous variables of interest (`hair_color`, `eye_color`, and `skin_color`). Missing values are then omitted. +1. Sort `homeworld` alphabetically. +1. Collapse the first half of the sorted `homeworld`s into a level named `abc`. +1. Collapse the second half of the sorted `homeworld`s into a level named `xyz`. +1. Collapse `eye_color` according to the previous `Abnormal`, `Normal`, and `"unknown"` conventions. +1. Convert the collapsed data into a table with dimensions `homeworld` and +`eye_color`. Call this table `tab.home_star` and plot the result in a mosaic +display. +1. Convert `tab.home_star` into a matrix of proportions (relative to the grand total). + +```{r tt-ex1} +home_star <- starwars |> + dplyr::select(c("hair_color", "skin_color", "eye_color", "homeworld")) |> + tidyr::drop_na() + +# Sort unique levels of homeworld +lvls <- home_star$homeworld |> unique() |> sort() +lvls + +# Collapse variable levels +collapsed.home_star <- collapse_levels( + home_star, + homeworld = list( + abc = lvls[1:(length(lvls)/2)], + xyz = lvls[(length(lvls)/2 + 1):length(lvls)] + ), + eye_color = list( + Normal = c("blue", "brown", "blue-gray", "hazel", "dark"), + Abnormal = c( + "yellow", "red", "orange", "black", "pink", "red, blue", "gold", + "green, yellow", "white" + ) + ) +) +# Convert to table of dimensions 'homeworld' and 'eye_color' +tab.home_star <- as_table(collapsed.home_star, dims = c("homeworld", "eye_color")) + +# Plot as mosaic display +mosaic(tab.home_star, shading = TRUE, gp = shading_Friendly) + +# Convert table into matrix of proportions. Note argument 'dims' was not supplied +# as we already know that there are exactly 2 dimensions. +as_matrix(tab.home_star, prop = TRUE) +``` + +Thus, this constitutes a pipeline for working with categorical data: + +1. Gather data and clean it. +1. Collapse levels when substantively necessary. +1. Convert forms, select dimensions, and/or take proportions if necessary. + +```{r ttpipeline, eval=FALSE} +dataset |> # Gather the data + select(...) |> drop_na() |> ... |> # Clean the data + collapse_levels(...) |> # Collapse levels as necessary + as_form(...) # Convert forms, select dimensions, take proportions +``` + +When viewed this way, these functions appear to be the start of a grammar of +categorical data analysis. \ No newline at end of file From dc1247374e2cd65c668c3b9903b5a98d5688a39a Mon Sep 17 00:00:00 2001 From: gklorfine Date: Tue, 31 Mar 2026 15:36:20 -0400 Subject: [PATCH 24/31] Added `collapse_levels` to `_pkgdown.yml`. --- _pkgdown.yml | 349 ++++++++++++++++++++++++++------------------------- 1 file changed, 175 insertions(+), 174 deletions(-) diff --git a/_pkgdown.yml b/_pkgdown.yml index 36308e4..885ccbf 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,175 +1,176 @@ -url: https://friendly.github.io/vcdExtra - -template: - bootstrap: 5 - # For pkgdown >= 2.1.0, can use: math-rendering: mathjax - math-rendering: mathjax - params: - bootswatch: cosmo - -articles: - - title: "Tutorials" - desc: "Vignettes introducing the package" - contents: - - a1-creating - - a2-tests - - a3-loglinear - - a4-mosaics - - a5-demo-housing - - a6-mobility - - a7-continuous - - datasets - - tidyCats - - - title: "Other" - desc: "Additional articles" - contents: - - articles/color_table - -reference: - - - title: Mosaics - desc: Extensions of `vcd::mosaic()` and related displays to `glm` and `gnm` objects and 3D displays - contents: - - assoc.glm - - mosaic.glm - - mosaic.glmlist - - glmlist - - sieve.glm - - mosaic3d - - center3d - - split3d - - range3d - - seq_mosaic - - labeling_points - - pairs_diagonal_mosaic - - - title: Loglinear models - desc: Functions for constructing and manipulating loglinear models - contents: - - conditional - - Crossings - - joint - - Kway - - loglin2formula - - loglin2string - - loglmlist - - markov - - mutual - - saturated - - seq_loglm - - get_models - - get_model - - - title: Other graphical methods - desc: Other functions for visualizing contingency tables - contents: - - assoc_graph - - plot.assoc_graph - - color_table - - knit_include - - mcaplot - - - - title: Statistical tests - desc: Statistical tests for categorical data - contents: - - CMHtest - - GKgamma - - print.GKgamma - - print.Kappa - - HLtest - - HosmerLemeshow - - logLik.loglm - - LRstats - - modFit - - modFit.glm - - modFit.loglm - - woolf_test - - zero.test - - - title: Distributions - desc: Logseries distributions - contents: - - dlogseries - - plogseries - - qlogseries - - rlogseries - - - title: Conversions - desc: converting between table, freq, case, array forms - contents: - - as_table - - as_array - - as_freqform +url: https://friendly.github.io/vcdExtra + +template: + bootstrap: 5 + # For pkgdown >= 2.1.0, can use: math-rendering: mathjax + math-rendering: mathjax + params: + bootswatch: cosmo + +articles: + - title: "Tutorials" + desc: "Vignettes introducing the package" + contents: + - a1-creating + - a2-tests + - a3-loglinear + - a4-mosaics + - a5-demo-housing + - a6-mobility + - a7-continuous + - datasets + - tidyCats + + - title: "Other" + desc: "Additional articles" + contents: + - articles/color_table + +reference: + + - title: Mosaics + desc: Extensions of `vcd::mosaic()` and related displays to `glm` and `gnm` objects and 3D displays + contents: + - assoc.glm + - mosaic.glm + - mosaic.glmlist + - glmlist + - sieve.glm + - mosaic3d + - center3d + - split3d + - range3d + - seq_mosaic + - labeling_points + - pairs_diagonal_mosaic + + - title: Loglinear models + desc: Functions for constructing and manipulating loglinear models + contents: + - conditional + - Crossings + - joint + - Kway + - loglin2formula + - loglin2string + - loglmlist + - markov + - mutual + - saturated + - seq_loglm + - get_models + - get_model + + - title: Other graphical methods + desc: Other functions for visualizing contingency tables + contents: + - assoc_graph + - plot.assoc_graph + - color_table + - knit_include + - mcaplot + + + - title: Statistical tests + desc: Statistical tests for categorical data + contents: + - CMHtest + - GKgamma + - print.GKgamma + - print.Kappa + - HLtest + - HosmerLemeshow + - logLik.loglm + - LRstats + - modFit + - modFit.glm + - modFit.loglm + - woolf_test + - zero.test + + - title: Distributions + desc: Logseries distributions + contents: + - dlogseries + - plogseries + - qlogseries + - rlogseries + + - title: Conversions + desc: Converting between table, freq, case, array, and matrix forms + contents: + - as_table + - as_array + - as_freqform - as_caseform - - as_matrix - - - title: Utility - desc: Utility functions in the package - contents: - - datasets - - blogits - - collapse.table - - cutfac - - expand.dft - - expand.table - - - title: Other - desc: Other functions in the package (not yet classified) - contents: - - Summarise - - update.xtabs - - vcdExtra-package - - - title: Data - desc: Some small data sets used in examples or in [DDAR](http://ddar.datavis.ca/) - contents: - - Abortion - - Accident - - AirCrash - - Alligator - - Asbestos - - Bartlett - - Burt - - Caesar - - Cancer - - Cormorants - - CrabSatellites - - CyclingDeaths - - DaytonSurvey - - Depends - - Detergent - - Donner - - Draft1970 - - Draft1970table - - Dyke - - Fungicide - - GSS - - Geissler - - Gilby - - Glass - - HairEyePlace - - Hauser79 - - Heart - - Heckman - - HospVisits - - HouseTasks - - Hoyt - - ICU - - JobSat - - Mammograms - - Mental - - Mice - - Mobility - - PhdPubs - - Reinis - - ShakeWords - - TV - - Titanicp - - Toxaemia - - Vietnam - - Vote1980 - - WorkerSat - - Yamaguchi87 - + - as_matrix + + - title: Utility + desc: Utility functions in the package + contents: + - datasets + - blogits + - collapse_levels + - collapse.table + - cutfac + - expand.dft + - expand.table + + - title: Other + desc: Other functions in the package (not yet classified) + contents: + - Summarise + - update.xtabs + - vcdExtra-package + + - title: Data + desc: Some small data sets used in examples or in [DDAR](http://ddar.datavis.ca/) + contents: + - Abortion + - Accident + - AirCrash + - Alligator + - Asbestos + - Bartlett + - Burt + - Caesar + - Cancer + - Cormorants + - CrabSatellites + - CyclingDeaths + - DaytonSurvey + - Depends + - Detergent + - Donner + - Draft1970 + - Draft1970table + - Dyke + - Fungicide + - GSS + - Geissler + - Gilby + - Glass + - HairEyePlace + - Hauser79 + - Heart + - Heckman + - HospVisits + - HouseTasks + - Hoyt + - ICU + - JobSat + - Mammograms + - Mental + - Mice + - Mobility + - PhdPubs + - Reinis + - ShakeWords + - TV + - Titanicp + - Toxaemia + - Vietnam + - Vote1980 + - WorkerSat + - Yamaguchi87 + From 315c0e9ebdeca81669cfbc8b8e0bd2cfa12c2186 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Wed, 1 Apr 2026 23:08:59 -0400 Subject: [PATCH 25/31] Fixed case form handling of `collapse_levels`. --- R/collapse_levels.R | 31 +++++++++++++++++-------------- man/collapse_levels.Rd | 3 +++ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/R/collapse_levels.R b/R/collapse_levels.R index bb5e3ee..cfb7f2a 100644 --- a/R/collapse_levels.R +++ b/R/collapse_levels.R @@ -20,6 +20,9 @@ #' Next, duplicate rows (an artefact of collapsing) are aggregated via #' \code{\link[dplyr]{summarise}}. Last, the frequency form data frame is #' converted back into the initial form of object \code{x}. +#' +#' The exceptions to this are objects in case form, which are passed directly +#' to \code{\link[forcats]{fct_collapse}} (and duplicate rows are not aggregated). #' #' @author Gavin M. Klorfine #' @@ -91,16 +94,24 @@ collapse_levels <- function(x, freq = "Freq", ...){ x_class <- "table" else if (is(x, "tbl")) x_class <- "tbl" + else if (is(x, "data.frame")) + x_class <- "data.frame" - # Convert to data frame. Preserve new frequency column - if (!(freq %in% names(x)) && (is(x, "data.frame") || is(x, "tbl"))) { # For case form data - coll_x <- as_freqform(x, tidy = FALSE) - cf <- TRUE # Save that data is case form + # Handle case form data + if (!(freq %in% names(x)) && (is(x, "data.frame") || is(x, "tbl"))) { + for (i in 1:length(argms)) { + var <- names(argms)[i] + x[[var]] <- forcats::fct_collapse( + x[[var]], + !!!rlang::set_names(argms[[i]], names(argms[[i]])) + ) + } + return(x) } - else + else # If not case form, convert to data frame coll_x <- as_freqform(x, freq = freq, tidy = FALSE) - freq <- "Freq" + freq <- "Freq" fact_lvls <- list() # Initialize list @@ -121,13 +132,11 @@ collapse_levels <- function(x, freq = "Freq", ...){ fact_lvls <- list() # Reset list for the next factor } - # Combine duplicate rows groups = setdiff(names(coll_x), freq) coll_x <- coll_x |> dplyr::summarise(Freq = sum(.data[[freq]]), .by = dplyr::all_of(groups)) - # Return the user a collapsed object of same type as their input if (!is.null(x_class)){ if (x_class == "array") @@ -139,11 +148,5 @@ collapse_levels <- function(x, freq = "Freq", ...){ else if (x_class == "tbl") coll_x <- dplyr::as_tibble(coll_x) } - - if (cf && x_class == "tbl") - coll_x <- as_caseform(coll_x) - else if (cf && is(x, "data.frame")) - coll_x <- as_caseform(coll_x, tidy = FALSE) - return (coll_x) } \ No newline at end of file diff --git a/man/collapse_levels.Rd b/man/collapse_levels.Rd index 42a8c37..0a19e4c 100644 --- a/man/collapse_levels.Rd +++ b/man/collapse_levels.Rd @@ -32,6 +32,9 @@ First converts the object \code{x} into a frequency form data frame. Then, Next, duplicate rows (an artefact of collapsing) are aggregated via \code{\link[dplyr]{summarise}}. Last, the frequency form data frame is converted back into the initial form of object \code{x}. + +The exceptions to this are objects in case form, which are passed directly +to \code{\link[forcats]{fct_collapse}} (and duplicate rows are not aggregated). } \examples{ data("HairEyeColor") # Table form data From e085519ba348ffd5aab5eba875cf9b7ecb8b2005 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Wed, 1 Apr 2026 23:09:39 -0400 Subject: [PATCH 26/31] Added `collapse_levels()` to vignette `a1-creating.Rmd`. --- vignettes/a1-creating.Rmd | 53 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/vignettes/a1-creating.Rmd b/vignettes/a1-creating.Rmd index 763d480..2a49b39 100644 --- a/vignettes/a1-creating.Rmd +++ b/vignettes/a1-creating.Rmd @@ -506,6 +506,11 @@ The `vcdExtra::Titanicp` data set contains information on 1309 passengers on the including `sibsp`, the number of (0:8) siblings or spouses aboard, and `parch` (0:6), the number of parents or children aboard, but the table is quite sparse. +```{r titanicSAVE, include=FALSE, echo=FALSE} +# Save unmodified Titanicp data for collapse_levels() example +saveDat <- Titanicp +``` + ```{r titanicp1} table(Titanicp$sibsp, Titanicp$parch) ``` @@ -543,6 +548,51 @@ or grouping categories according to their frequency: * `forcats::fct_collapse()`: Collapse factor levels into manually defined groups. * `forcats::fct_recode()`: Change factor levels by hand. +## Collapsing table levels: `collapse_levels()` + +As seen in the previous section, collapsing variables from datasets in frequency +or case form (in R) is not as intuitive/easy as it should be. Thus, the +`collapse_levels()` function was written to easily collapse variables contained +in datasets of *any form*. + +Note that when your object `X` is in frequency form, an argument of +`freq = "your frequency column name"` must be supplied. This argument defaults +to a value of `freq = "Freq"`. + +The use of this function is illustrated below using the same `Titanicp` data. + +***Example*** +First, factorize the `sibsp` and `parch` variables. Then collapse variables into +categories of `0`, `1`, and `2+`. + +```{r titanicLOAD, include=FALSE, echo=FALSE} +# Load unmodified Titanicp data for collapse_levels() example +Titanicp <- saveDat +``` + +```{r collapse_level-ex1} +str(Titanicp) # The original dataset + +Titanicp <- within(Titanicp, { + parchF <- factor(parch) + sibspF <- factor(sibsp) +}) + +Titanicp <- collapse_levels( + Titanicp, + parchF = list( + "2+" = c("2", "3", "4", "5", "6", "9") + ), + sibspF = list( + "2+" = c("2", "3", "4", "5", "8") + ) +) + +table(Titanicp$sibspF, Titanicp$parchF) +``` + +For a more thorough overview of `collapse_levels()`, see +[1a. Steps Toward Tidy Categorical Data Analysis](a1a-convert-collapse.html). ## Converting among frequency tables and data frames @@ -625,7 +675,8 @@ namesake (i.e., `as_table()` converts any form into table form). Arguments in these functions are of similar format, with conversions *from* frequency form requiring the column containing frequencies to be specified via the `freq` argument. Likewise, `dims` (dimensions) may be specified, with output summing -over excluded variables. +over excluded variables. For a more thorough overview of these functions, see +[1a. Steps Toward Tidy Categorical Data Analysis](a1a-convert-collapse.html). ***Example***: Convert the `GSStab` in table form to a `data.frame` in frequency form. From 952f74931bc5ac2e5926a043dcbd3d8eb42aa54f Mon Sep 17 00:00:00 2001 From: gklorfine Date: Wed, 1 Apr 2026 23:11:42 -0400 Subject: [PATCH 27/31] Added node/edge diagram for form conversion functions. --- vignettes/fig/convnetwork.png | Bin 0 -> 196992 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 vignettes/fig/convnetwork.png diff --git a/vignettes/fig/convnetwork.png b/vignettes/fig/convnetwork.png new file mode 100644 index 0000000000000000000000000000000000000000..e64e4a981f31cbd564d7cdc4aac8a5eb988b3415 GIT binary patch literal 196992 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%0D+VjU{~r# z_@xGT(>y~+bV1>AMZetgUH4-KLa>`KFqk_7g)e3LY6QOxA)*9yc*471jo+=WZ&+5l zb6{QF?QJ5rLo6Z>AmWVDO7eXs8=sDghMER*IB*2df*pU+)f*iAut?eja8^LJU$wJC z@5i1d5bPW1PpSR5KT6KK)XX?uS&sPeR>ooFMxZtpatgX%J>cq9r%k|fkDf#U=`sLU zZ5rGRBwFAi5uzfbQG{l#jUj$PaInDG%{p0r~QwG=YA@tSRQ zEV1i)Iqy-xMKaDljFC%`(o&aBRlKQ;rxr%Txoc+fvrOf6#}TSch)e1F6COS!C7lh# zx&$2IH4#g7=r0DcU{G<`S)sOOGBZ&_as1DZw7TNLz7US<`+rGD*xee;-?D>;_l?}# z#L_p4!F;8DmqgOTLrWW4=1W`$3M+=x<#uiu8DndKDN;0y3@#2D3;`e^DDis_(EieL z{nS2KJ2ERihTk`1x4d?1H7NRNV8N@$Ni*VaW7cv+BBG{Vx31-X^WN=z7lgnjCgqS0 zb{wmnZFfsb0#@H+oKEKi&?RvLu?B@%PQ3SYkpF5x0G6cuizYbfVZdBOZb)I=ArO@Q z`|5!z67$TWqtZ?JcjbkT=^Onc5R65>*sXA``?#9laP>izbK{Q;|G4aQknL`&j7P@O zk|n#uNptG#A-eY4cM~xhT*-;Q1>I$9tYbEiWq)toZM`|BZ_y*hJM3a&F=Aa z&WsUNRiKS&AB?A0ElS_+Z}MKzQ^U1DeRP-)_z1CA4Cv?TFyv6KE=V4pvWA9P0Z6`E zTY>)2Ng(H}MQ1_@aLMn1BVcANfJSLs#)un&wh!LvQ6Y*^XY>%mpe5UyE<1 zVT2XQ^6>Erpv}#T6uG`+L%#>iW zv77Yw?Yg*B@ws6MWoRHE7y{3#Mt@*Cc1bq^xc((2CHMFDQz#@cGNyhLTRQSDiEQ{3 zFChDa25nNRqsvP3`+L`SKeHi=^FD(eG`;|B_i0R=)p2k*2mDxgV@&g!`O3iTJh*JT z6%CE4A3-mb-g&mz?@a7X%(b*QSWr7j;p5{2D_WD8&eBgF9z5BB!ZZqzC-zRa2$Tz& zIfiLatjY34x=p64sy5r>&Gr>%Eeh-{ww}u(O(oNWvHx|ANzC9)=h%`by80JgUx62J zf~HwxG#XL2RbC4ortf=GQOE6)Ej=h@&b^Dj=t#Dd1y$!vPfed=M9sAKlXm3v^aO+b z17-y(u)Iy#{eo5uMnNC+MLu%Pd~&D;C;>jK}#8BWs$Q>fc=R~ ziy4J>Ymtmk-@<*)QpsZVx<_yud0^abnGYVl-$FbC<9XBE#^nnHtL3>mUsi&^lw!vR zZ=jJ9^#VwGyF`RmPLfZ$J`7G(N`wc+xMbCvSazFxFJ0o=VvE_R>jH^2+-T-93ActZ<*US zn!1nLs;cUGddKZAKkc!X#^)xVkw54Tj;FkqfLJo@$ACmeMll7cJY&nv?(iQ$4+y-_ zIX}tnT3URuHC#+;7yJ(C=L^U;zxHI_wLjzR7Zj^|dtAVg&#0@@IEd5dW=i$@XEOaK%M2_~PNsSfDp*Th-F!``FGlCcP-=YQ zVWE~$PAc)K zanw3nUVVBzrEw^!1Sg$r;w{q=sWFmy63T39kukB;|Ej(P!2Fgb`Ro=M|3VQTg!S(d zksWp?&MQHDJ?ljml4Q z!WJQ(FoD3PMQ09CW(a6Bfc|)@DEOmFRxv%+7UuX2$N9w&GLm1=JI-z^d|YwvBo><` zH||gAB58a_$4eV7(>)fuJ3FQ(CSrj#iVJ91SV#am0m9K#r`V|PRvVlQZyCb4q~w$g zl8?NUb?kF6jGxbtKr=j@Zj%cDuDSq35D3z=Vil$*{iKQkgzPIGaR}p4P;j!Vm>$03 zb$E7Pn{*l#MaNjWO&15K4@33!EJS=V&d%}G6*Q0M)Fv1EUrs*ha&bNMMnJQ%73$=+ zwt9msYblxul`$A?ZEav;bJ8ed-tlqeo93LJu2j2cV0@&2XtkD{t_D}4aNN1idevc% zxLUmvOOd?}?4|4f;QG}SVz5Z}-mve|0q-REx!V}g6KXvNzN)Eg9Rj`td)7f;hP3+@ z_GU*`ROa}P#^&s9W3RmzLrL_&-%w5qGulTQi>C*$-u+tSWZ^tQHOmC-hF=Fg-PU~+ zKd&&3dI__;+$1TF0UQQ*k~uP@3}|cW^yjx35my=dJ;cA>qcRrl!7q`$ldB z1RoqA4Hk6$bW&1oA8mABy^(d4L?vRFYi*4zu>l*?U^zKs4Gjg7w$*M#-Ts~=PO9N{ z5`*LA@pFe+;?{tG+Zt#4Y4CqtqoK6J@{yhv3;0(*A zKy3Titb0S$c|Jd92#h>pVj42Bue08EcXidm)W*T!F&rG6E)$UR3}lyLw3O#*)17@Ulx*A4sWdf0(eU5!bd;d3dE%gBHCJunxTRUH z1?c>(hNG-t7vEs+^}EjU?^C??ZPPzHUi&aANR*q(V-`>^I6@?IuzY=g!;$DFDDk4FfWe-?dOID2D3q*doYnGG;M9-q*5>G2Ja_6qX~*0DJdyH&3N9-Ek9l{ zEOHCu5tuo>8{6x64VTYF7k|a=Igxnz^_}})yzG-)+v1|fM2@T<;0F(bme@ws- zS7%Nxd*^~=UTvXo^;u<=YbiN8E%o%q-OJ*?X8Re%kpmlN*?Uxo+JEIw*igUblNXRG zjZHK1H9Zwcodz{o(e$AWRQ(|R48idTRd}q@06T;_TcWNng42T*%^1vaaXhh(g%yN6 zK4=@Lh&VBxH*eFkr*8YcgKhl`Qr-2o!Gw5A!1OiZ3<;f2?{ZXa}Yf9O0Z%l5=qO$Fj8o1l%=xQ~q~A22c|R}l`YPJ9fN z4ymatO06-Mk#d9=FlYHI``{N6$pfBz0) zF%fwDcKYSZ)oKj`efBRhdODFthZ{|$7p-s3+j`!{?Cf+p=~q`^QsfnB!@H01ILYkH zvoQ#^`+;HORdA*Md@XF{;m*h)%~9b}dP>UT-o8*4$@pt2J|$r?k?fig=Pxub0E$wO z3KioD?OItQv* z_a-JbV>~@Q9EDf4YZ6O}MbPI}@y&=oj+2w&wu`CO7qTsB{rk#h3%(WO^3Hen!6Na2nxw$`zD%hFDZ%qTA~!s z=sIx&11--*&UFVRI}pPk`-O+Bz5PVo;R_=p%|<8s3`RP-s)~v)&QhpsCPZ(L0q&gk z?q^cux$Am^LBvbKckaln+`0=})vlK|Qi+MF7DN~<;u*kZ;Q5A@NS6f6D2M3V zI=jlhw~YdU?^U@9lY$JX1T5ELiJHU*V&(pf`^zJ(OLv_*L6~C}KSMiC_zAkLLk%+_ zQEE8*kNb%gLB4{$k&!4QBuSL=_~POOEiUbb+z!90p6))|GcXjhnAVAku8prvPp@() zCUKNL94(}>FweWXw82}(MPW1-{Ni?g)(4grKPZVpqa^3*)GH;$ie4$b@Z-{Ja`~H!j+@wHMrpK>t049cCjvCjN%apI7*1$<0}c} zs+!=VPfu(Zo~^RLenI*(3^r4K7+yt*rcq!hg?rgh|M08FnTf;!(`(dJi{bNzc$ zx6g2=*yU?!$7VQJw~h_s|GSs*K{2~0_$&MPt9O3jb8$>IB%!?#9*6lv7p}uQJNE$L zPPn5vi!P{AMZWj|+JShRX~}d8B$}Z#RKCS|ScJXZKKaDA={c&6bKX;fD;4A-yq#0h zhaap*(%Ju}r%d`D=(1fN_5 zAzs|w)iM*8bs@8+?55IU?z(r(U^_1$qwaBxv145$R~3M9t$tsaWA(oL@@*DEcB2VW zrOJ0(NsebF4B()AZTpqT0`3`-B_0_JEG*EzzrCCT`yZN^Rj3Ci4=By?udsu{LPmKP z@9o}h{)9MY*-Ei~Jd%LD<3ZN=sieWj)H%W8b)dTa-ncj1y4(uyHT>z!m~YJJC^Xt+ zjg`UtC^J^Q|Jre`3?y<_g7A$V2?J*M~X`gO~YSCH(b5v?O}HiO6cW>hwF0 zI8M!O`zCCn$OHPvH^oG=gx2F9|NgAR06&<7yWhO5&R=VL_;(JPAcJrY){-m!c?qy# zxQtS6+}AibSQ+Lqak0NY+b1-bv+m4!wMVph+29wTRP>5WsNK{n?B!uk-jYCfjfk^J zAl`t4CEBx(M$4^FcD*Ru_-CY~`RcaqHP*6*AKB#7;_%o)?vgn)md3t!OB^8Or&Z1x zWa!`N#`p_|HIP^#kZ**xo=@ga<5Z z*WAl>TM@6%DH(o{>56gd@f~4Cz}?C?C(t7iExwD62#4c@_U$D`#8_KhZSuT zcfR@rjuDlS1NX|K(AXlRIHCDj^72nDFdKkM`sh@UbN^>!`7g}w^R{gJWSv%bN1&wc zW@U9*Z~<%6Z}J+zQ?0=+Ls?`DZ}&KzT^} zBf)GTbTkj`v>)@Z?ysnyUe>}#`I4YcR#GgWwZz8m^JjZqT~8vSvG6wr?F!tqW%j0h z1_)9w_4N9vgpM+svNi!_*wuEKie4Lz2s7J{jG$1hl%gg-I~)7etG*E`M~PRXLxGRZ zJ65SOZ0&jqs=D80vDcH9fOm7Ga`un~F0rKa-E@G%q}EZ-Z0Pf)drj>N(#*cF#Jp2h zQ$s~Tp%8K=wYH8 zdm8E6x8N66)6^VTE;u+821XF*B<+qdis zP5K4NAc_CfvaJ$8XS)iBVyiYL!_kR}iE(l4E}vpw#_VJ4%>t^pqDxpjF2-9HH`dhD zU_DW2p|6#m9&KUSMMWEX{RL`kklQaFY4KXlNcyYEunM-;2QDv$nw(J$6W288stGxX ze!8FK=qIyxoeqSCWa2PBmVGjC_2P5zjn=%nb(~}RXjTa@B;h|0>kzWq+ONr$em~IX zvRli*pQw1>=GdESz_S{Y8NoW?$-PpLy;k)3`C-cGFQNoq8-eI&gB*&xv5lU8S5w@O zaL&vVY+!fkuD`SPYm_ol*0C{R*TD<@p0#$>-6Y_*7|w^7^DF8W$w*54*H9qmdj(77 z2{<6S@kZIk7@5E%srr3Xt1~0w0sH4$OU3W$H8oV(WF=#8$v_Jjo0Tiv#FBMNCnW)a zD+xMTv`LETYD-{sW2VP)H%yGX0~`w4H3S@vfN|Bcwl!+5>FRV_rWbxs!yK*VSMNF| z4w^5gSq@|$+9T2yEIj#N6_EEgpZfY6ATTLz<|Vwnz+bQ`#SrCKGwgtpji+``L7f`D(N^(ks zQS6TnrJ((o23Ck8R}|{_wFeFs57;?rNnEcH)&Z*h4XAL!RepSdFcV4#QX;jwc%vKxX5OJ zUt0w9q?(@&+}@tKUY&xqs2^y*^K5-bROL~FLwpEq|2@V?2pp2G*8gfiCKTYK=Gs=^8_ZC$ z-Ufago?1u4#96U*Hr)7?`l-aJ_x>xJYg+pqfG6Y(VI&ajfGwb#OPaE_4)t+m&vJ8* zqT<_?%pa9aP0J2PnrN89+IipEf%Y8eHHCUi-5wN(3Y?BBf%lXPvYERSz_$F>b*kOd z+L?K2v6pW&UI0I@P3o_v)`^YsN*|JvOl8u7N!`P;1)#hc_)Q=yDe1e} z-4#VVi}ync;j4Yk=~PNu>pO-LI>rccTCL(ME)GskM$YSpuHeYrF9`)C9R7gjL(39L zHI!z%docLhlVNB8;SC#&VGk0`5zJxs#aid*=t7JKwMI5AEv+DDiiY)#jX4r!cA&{a zEQ(WR#tNDJWQE5RXA{udvS2@KH=1b^H+c7(yA}H}{_Ag{|2B#Mv-LqAl|2#erT<%3 z1)zPq-A$HG>tSAC73s0sV7ri5N?r?)em!jCS>$nurWT-)K;BzV-Dy^*>te^&J$jmm*$+aWBaLiDAEzIU+oHPxLFO_;j;`VI_vz zm!&N;)rxQ75^4SX-e+e`+DM|B6ASh4i~vo16b{befp0^o0U%Xh1~Yu>r5#SnF1I(8 z?G1>Ejt2DGG&yVS0Yypc3H3VRzk^f>RNDm-3V@`B-Ii*Gxgm`G69(S* zg8}mCZsjS61WnTs?4#y&7XB>M2yXG#@v0_q$G<}1N+-EvDRof!#BeSIPjMoJD<-NK zHy#&f9Zt9v8$$-ezG?C&R~{`%oO7|g`7uX}qrgZtbZc-5Buknjf<6MMY>>vlZ?pnp z7SRSQl81l8I@NQb>EI7ogPtp}BHEAepV`OvDXt9=q8l9##MC6SaY$)s@G&rytbZ8F zsU8$&D870_&ut*IP-)6lZoA5^B5%rJ{UuFWou)JlDFzLK(L>PT96*_vASGdBF#2$% z^{6|PExWk|Xyl(Ae5^b2@j0z0fMuZ&s%+j{h(}}L;_zhC;~dlpAHs1-@8RJ{tk^Ff zm4F`|II-CA9uZ7xF{(}rhmcH@hnSiFV4I+lweibCD1W*?BVw{adxkrGpbALzr(0;V zKASiRuueph^Af`H=+kh;1AF=2-=1;bzx$Rg&Nq*6`TCYy&ItV;{(?$0%h*dx(tghO z)i*C#GLXY|v(>mtruB2Tp4!#f!`2V81`!q^b0zW?+b+WL;kl~r9pfk1(`Oac1wqc zRxViLF4^$ONl9~FUf}N2tq;butS}e3?T8@y>UJJfS)1E5vfk`Y01YjPN&q8@*xl%) zvQi^EGKlDA)-PzA%9Q%<3hhgDTe| zH=*99uF1SFXZ$27d?P3XxL-bcWo31%jtPtg`gz8Sf(tSKQlwAPFyFDUH3O?<3k%Ul zw_9ui0>sb27|0wsPzc!G%rWYgVPRongwwfTT`!YnryhJwAr^KuV; z8|jDHwe?VwH~;YxHyF-b3TWx!I@`y*A8s8b%7?n(WF**tI#;ExrhE$qjqg1)Hnu}S&CNV#8Tc!ZN|0j z-`)U#;r;>}kKW-qr_^hF|2AqI=swAvTniMoT-6M#543gIej3?bS&6mZ)4A*quJf=T zNXX(kErnbr6PP{{Gcg$eLFvFho_d*yyPGjjm)4crLtu8?UN3|jgpNO7SnFi5S)rht zOGaCpVj_bI#}>u~+ESxduS0fZ1yVz!$=gv9b#;JJQ(GmnV&%xi;Ug+@nr=E{*z z^8=l7SC@#>R-WQdIIu#LxZyQ#bLhwk^>P;aYpc~}O9sIYG8P^qA!v9Qisae{>2L;z zhQ7rs=ErJI0eaX9;FslMcQ`6D>U<%o*yv$Odzvzjf-!vEY}noSom84cQDv)esoIie zFka1lQ^KGJ={nW_6h0r9VY14FkFN!6Xa(kxJ61ss-f99xjL4Zc>IiJW9r}P;#t3Bz z0RxHBcjCfi1KS-omG~Byr^CiwpvwIV?SQ8Y2Nc?wy=0W-CDJxDUs4aUpwxFM^fErS2EUm5!f~297 zcBd@fbDs?i3P*nmf6eWL)b#S%G?kj#dalABtar589M7Z5ImEI{HkC&JY{8~rCS?a9p|{Z1R8$l&sQINf z9Zkt(Io-v@>9JT%`)4#`Gn!I)Bu(DlIZ!68fh zO!;pH-PpOIEnd(pK-0vO6%Zd6hl7P|a-70!ECr}!jX$Ql$W&B}A-)l}>Z6h(y3`8#|g@_zE!sQQ{WeYMkEtpJ33}I~nwF_qF_bi*NpW_7Eyx-A0%K z&JoisR^~??e{!?no@~L|06C9B^LYXv#mhD}NlMqOiz*0T#lt{*5BvmTD44`JAS52VY?e-&~+l(XyBPeA#YBuUhiK*}-T< zv8PxIkS+y1I8vYRZ5|yR9GF{08^(kQd0Zfj3HMBNpgB1}7Z1q;9XVQA@^Ostxxln> zL0;G3Rc8|MEM)}(|kO2FrQ^yEIdqW6E=R#`uR3;s-5qqDky?|d^Qs2{MrIS+$B z-6Krh(tJDfmN!a&*NIad-!0=eWKq7(D#pQb5nYpuZASEfBi+)Xr1#tz4X?sgC-k=fEVcaCflnvca*$wv5%5cHOu!z%!nGQYYJ>) z0bNU(Im%r2=!FYESQyj(a+=)&TWS#Kq#y3jC=Xn>pcbkz%_d+lSpQU;LH0_yWM$WP zcbQc#wzX+{KfTsl0kUvL;P~L`PD#Xv6s|d+t_W99s2U6`YEz<=Ug5&R7ZvE(8+dpC zn-OfCq2$o3UBzN#o(sQCwMit9ouHzkLjDV=m;O;i?d4P~I=k<`LnaFK9$EkRbx7Q2 zD0SxtXr|Jyp|(6>WNp0Id2#-?v5@tH5EJ0|j*4IVFBxd)QfJobT1s>P(dBsydOKPl z^UH&%^0R<~5rpzf=FONCE|141CMTY-0Y9`bnB@_m&PMM6cB0RYixu-Gu6BQp=Nk2fZy9k! z8hr$tc|Y=$SQI3r&7B>}^Vxrz)cYN%iqFiZwy9me5UtYZ#?0sXxkpOHy^!K#V*-hO zMvWV)=hh_sjm3!-ieC#x+S0e8?*h70E$+Ni5y~Pj0#2Sp+w;#dR%6si(@@)4IY8vdCkHG zy`2zYF6#v$3#3~G6wdPu3X&K)li{Au&a?A9Wh%J-4@#fqbe*m=0$ic%M^m^A`C{L2yvw(GVQ&+Zp^f zP;yd2IHvt*{*!aqX(%jyfj=_xb}1fkoxCK%tbS&ysOriEN_V0?z0*re7dL6p5%KTN z$D1zEL2Nhcn$oJVay^=7Lut;O{JwMk^neORNxi1NLLR<*@5|vAMIqLq8xb~Gl$S1TFSK`>fiXo=_0{3c8~y-| z%1duNI-LTIUr}yNY%v`+=fE6#D4BAxK01}mg-^}y)4Tav`G+)Hhgw9fOAwU_j%wh1wo)+e}yu!A{<$^NiY`a^3(DBY?m2rAK0^W7tx6hk*5y{&cQ< z88KcHpxI(Tckh0G7cLd>#ppyl;sZWg6wA9j?RsYBp;8^pKI1Z?CdcQ20SK!VOCs5r zk@3v&H1N2#37k<~l2W5}Myg0q*0QVp>bi<|)aoB+&DgwW5mH0kv`OdXJ&sW|7SC!3 zoD3xwrWuHT4V~pOpcB6k@qt70tq}ELP9L1U5-lYE`-Lb>IJcb@I|~*kp3DB<362sv zTZPxQs!pm8?G$OznD5zt^JO2u-ud>C=+5isIA_sB9knMkw`&@Y>z8w?wY*(GYXnNk zIpv`7p!!d1qBAA+cwatndRTz0u(_YG6AVQBKjnX%A5R^4b8$skSi}aP1|Gr?5MTd> zehZ1rlg95oe5MU-qd^nnDz=XS`Bnf*3LY|=upvkYfe|KTL_A(se;+|0&R}RQ`@|Pv zH1*Ao#W(C7FYDv-@~AK|qvc)gR7xIz68&htdPCFYD4tY2;CR+o!Rifq$l_^F+%|)* zHD9r+Y+0&=5=JRIy1G0vN;udBK6JvG%t<*p<=`?(solFZ?&zRoP7z-0le@c09_-HE zUQ6T`;@0%%gMKr8a$-^@IUVl$Y*lgZl$+9r5P5O8_ z`^jOegylwP`NWsA&OZZrCUE}wnLqzd1MeZneHac_h>O$yenEs>|HD+Bujt3=1;*LN zMtiNz^zt}mjtJu0FdM_qUvdiK4w^6(_VvHM5WDT!aFgpE^YeqEq@>h6$8*BPjb9f_ zW0D#gQ~XX^hdx?qx|%LH`n4zH^GSR7aqZbQ$t|6wzW&3#YxUNkXawKJX=-Y!|IZP} z{Yg9y8*MHh;dlY4Ac1lJzZUJ3wVekX(#W|jzR!0cw1TQ2qPrKB%UEy_zgELEyy0O zWib`{L(P9nN0Gy37TH~_B`T6;H?_{p+#?&+rY>VUk$qRqI}Z9kM_z?`^9)`MZKTFG z{GZ2*AP|3H8#yii{IV0j=q4`nI25z#t}l}(LPy+XF5aqWw(o5~5+ZRoDG7-C@?LZ{ z7%A1vsBq7cpigSBIJxO7wIZisR}hf@{u!PJ%nNu-ij%NR2Vo8y8IMz_A80xH_oP=x z_O)daF6R<4YuQVb+}v#M&_XAZ->ZOBJj3GYp&@JGWgENSQ~)uAf(A9APRs)Hp978R zo06hUR?d82K9jEe@c?I=tvKUmp<2WC70FoH_9zA`&&$@|M*{U7hQ+PG0)3-5Vh1@m zEbKL(2j@ti)5lWn{*Z5?YRY~P4klJ~QD5fDvs*KaEG;*-Vd&9C!V{-5$9>!aQQ}Yu zCqFxi`rS6hM`FB!)1j;DPT|I_u_nN8XlQ^|b!bagG!w?=B+;e0uid{rWg_s4s42Jg zHW`vV&~#c9-Z_4nF}JW!v!#`vP3E#n*&cBG$^PH9@mau!jB}tpUgG)W{C&VDr^0PP z#-5%0{y6Mnx~h-M3`C;!r6Yy?`TdW!p6TB_1qB#e1VlqFySco)Kl>iW-p;l=M8Y#FHM>VUFStT?yZ(a`woMLIRBk>m(v z3+m|6bkkKLH)X;HGY2)<+4$o$qYByh5mYm2!N1oQJzX(e68a@1*FB;3b-_{s>-0mev_x z5j66>PPxm7%ss&>e))z)=0q6Do8A~na+}|=3dw)3i69>|$N?W5At4xWiGT-BH3NlI zILTMPF16J3LJ(Sacb0IXZp`$Ws*n2Jm}!^r_ggZafvKr#s4>&cc@=8O>J?p;UJo%s%*B53itp)1J$pJbQ3yR+UCMW9UvquV`gC3o z!jiB&aZ*X1AMyzZkh?d9vfrN}5hMsN(Vw4fD7P6$k!7=X$hhtjOB)lF73vW`PXlZx zSd`aj;U9pD6)hQ=9|vkjg~XwMx!D795H&0^!S+mxr-_l#?(GGYW?ypdxwE2)LiaKu z^XOZ#v_JT>Kjq%A-xl#21$_&ICGhOIU;y~Nuh+7_yPF$=X*vtv=<)t|74CsvVL`ul zVacD&5e0|?=3;2ZTWt;Lr`_>0VeW6(k8*Q!d4hirsYv=EMmmJU+{16Pt-n`=0v2Q* zD*uH$r}JHm*V%h{bzX;s)`PG7+sBFi2)&Qcx!OIpV^c*PsX|gpZc4|AU%A89@#ma? zxUm40oRYEyY^}}4{mc?`zLM5L!j$JB;&EjmUH~)x+ii+b(izg4M zWAO9Kl^yAmoiS9wbdV_V_BS68e?7jsA#~0TMIGs)?D>P!^r?%+`ohpQy`AhEKAUEl zKBR5UNE$yl%|tuv^W9sUG5eFg*>Dfv`~p#z=;+da{6Z4R(`;W%;g-Cy6t;Mo9I14F z|H&MKhKA~eRh4_KUlY%j6i}IE+#y|1mY^SjFkx+Ah-zxozyd>;r%{hH|FD4UfA7qu z)BYy%X4QSp-pR65Bm9_j*{dA>5ivh*qR=*Js%#xUU-rM}&Vx=2AAWjnJzo7!`3n-@ z^WCk>le7$Mgodk%okO)iaI~Cu_h2+tg~5;bGV(y=4#OL9_gYIO*G)LI$4&FLh`$ta zZwHW=PQxU^gkpJsOz4Ns`R|>bk=Uaabbq5BidGl&(Omh8T8;@7Ff4w$vN4yH9W#A= z_(An~OQTd*&V=HUkv1Wr3{l|2dzbx5&AZEB+$w`a$B+166_k^clab-^Ee2e*SG!|h zcVu*)-!FlD@=u^`PSm0(gNC1qVKe0SUN6CkLac;kbhP00v7}QauobhmvbsMN%3JgW z_)ALQi?S5?`9^2ohdZt1#@_NRjz5KWOZPV<3=CAS1_`Hj=T))|IzyHk2Y2@?dOlD1 z^f``3lH{rPX@CFxa9bVm`uh~)IVwaRKS|L@<9!G=t&pd*mR98W@E!3PFWv1&(t~Yn z?gH8Ow)l6W++-SFpEPc^L?49BWD*h*_Vn~< zllpO{E3{Xqr*0k)%$5?}RVe4{^4`o>EAp_9b&_)M>PTrV9FCKd7k-XSB=EjsI4@=9 z^TJ9;!!2cYuSs9*xUyIP@|26#r^k&k%dyOE5LPaNK2&$?I_Ns#vP=N?2AP)}ddqpu zR(;4Us8;5fpXhkdl``}H^}}*LzpafQ2(m8zDb+!398lxq%Hj;iy<%yy1&M`)W}kR_ z9MYn`Cwd*uLza~9I*EvMfsL)dXC&IgLFNeOn^XV7QcYv8vmBYNf!R0O)>AZVY%zq0 zgnPoLG;Div2@31GXJB6q`Y%uiX;n8v^WuISWXJyVUbIL<5ZD-H8)HUey8H-Yd2Br0 zj}T8|D)#s9zP&hbJ1pfo;z5WV9ee`LkH@uJ_CaOxO{DqYj(b zAoC0tEW^ zUaEqJ#we_>lj!R=CMT;)OwRSbCbqS(*x07feJdLU?9YO1ySo2CD*?`OI9+8FeUupb zbHnvW=c@vXbHr5}tMf8SH$GxXVTP4|wQru0kJIyf|M4W@U9zTQdMEK=n;Qbhr{u4M zApR58H4v~Oo?U)_eBVRB;(|evxX$d$&^J*%7$xbp1s?z? z0QI;2_fej3aT(0)4at}uZN3TO`}xqfLx|})JyFE$Ju6j(?it{D(9b3jKTM=??VX-Q z{o1ocDH|aw1A*u~IzmDxOT7@-&mYq=xErgh+_(i1n9MkRNWsl`EY8x|GDR%^q?>)D__W~%K1Lf_))wR%W> zSnVk(b3y<1BXv)#TMViR6N}4;KbF;Dq_}?Q8{Y<+2+yP4ZpZa1V`B11Y1!i>@r!>; zKOdX|M1zM%gah{9FAx)-j2_5o1`y|1X)cYoS5V_K!H==9M+gfGX&Vl8S%-WMNtWNV zwULzw@g{nd#dE9s!w0}OEugg@p&}u%yFOV%z@|Al^j6_GdT`Il)Rz)~FdS7B4_`e+ zj-$s!F$fBReoLS*zR5*^hc}eS5@?$B&$W||gdQ0eCD>4ylXRJ5UP9Yr^C3oUot}@H z&HT2fT$}XNpgh_12;HkF`k>R2;MJ=lt=e!?5jX;&*ZuwdMZBc%=S!7y)7!sRwnE8d zG$~qlhjh?%6|mX>n1^NqZ`9UwIIP(PeddKEZDFpwqu4jYM65z4;{hyKSlH#r)zwu+ ze;M`OtjD0?jrvDq`s6&%LZqJ8$iW^X4aUaaKX-@b^Z$R_r#8yfi-A<8J#!Vomm?=E z9P%Q_R8_qfDK-XXUwg8aS@4MN!=%^M{0&hveElf0*g#WZ_stAg62CTA;MrK2R&jQy zy0}y|;oO{(5Rud9X1IaZ_8;pD3l=mMUHb_BDagac9 z0Yzc`H3N3H&#do|d~`+xE_(B7g+ja&x;S<4oliRe|ujd z5}!75=j+GN#@nIel>d*dw+hQ@YukpEQb0gbX^;j1Y3c6nkPzwaF6l-(r5ovP5G16# zySqF8fx4de+xU-TZLKYt_nc!~*O>_mjxg9iw% zIT>h6u5U)gIq+LPA2!>tuYAMkMD*xwyj)jjnH#H4QJXZG;0|^e{C`KC|DUJY6Lekv zw%Zx6xo~jDJD5&LunYnYiSJz$rpNj*YmT;j15MUj_$0J^2}i?CT)`34kUfRQOb=}q z+xr_Z=~ykx&CFaSB!|DAswv?f>0Dj)HS(#g<*^1ux$Gn#!d;%qmc!YW)rN$4bB|YB zrmOpG$P0H*dmyDx+&1lQ-kzs_z%TzZKs*pUS0Gg>v(Q{>c%vn@LCKrrt%|hvk>Ew6 z;~JI=gXaJweP&IHI@OIF6BCoe{!OAtFCq?;weDWgCyAPjsHmcn61Cn~*6rX zhK)Gg$=()OzEgU`4e~(pX<>5>A835&K3T9~`$g>fMHu1AKmdKez%xV#M(kyz|*~`7@%uAAG<*ThlebJK>=OmC_JYAwSzqBMq zBuo#L@eP;XiAuAh0N9xtlUR@t)gWOkW7y{A=OfCy_yN-O;ut}*jbJdhl?HDk*X*sg zuIe#F&EFG(8K^>Uf?k zhgH_uk!8!petXU4A`ODWL3DVOjscYo!ml%?6SNE&H{`er`H64FK464x%%7W^Bb7}2 z#ZW#k723eCZ}wPh!8ljm)n|VWgK6<-0hx3gl39fy(Pf+3hp3J1HjAiuTkc`95N3qW z>NQ-5^nbU#J_OoVn*K$^qR_wFe~@r1nDsSAEyfbEiL+&mUdtt^POBOmrr?yOnK%n! zkqSO{X4koeFc7|x1BYjL&oB0%+#XP8c^cwj#zIC-ohFShK%-lrR8;3w;nUc-Ty2)~ zhDOB5*h|z|B*39UpH?_T1PPx1&9H%%aMxU)ges&rRuXgB5CAO*nh6Wbn}9f!pPzq1 z^6Y6sTo7J+6T3HS|I%3M%X`!rT)RB9pSevX9CH1XK z?>^7muB<(qv&XXGu0|phJ(EFsfkn;B#5EzukPpT8rw*k(3;UtJ?^z) zPgUW*@H_OIJEQuqcL*8w^QK-lx-9vnXm`aSmLWQ+LN8Y-DvYbs*+c3`OGze{yQ4i6 zAlnnc|9!7td&-G_g&4}d_>u1WXMPN5y@XYFceGE~#W^6F8yPl9ulpG$fO1yg9lV23 zU^bqcc$#AslAF;uQpgKo7Y4ySr5p^(90-BGmSY4wdmEPh`G!ItD74Z7yQQyL<@DZs zG6_SI%1v%Ayeup%uA2j7&d%Q`6;CQ_1_82%K(*@e7^5Kfr7jeYlkMmeD`rRA@HcmX{x3V1T3*y(~)N=$L*Q%|b@gw+K1H;GItu6=bj>3}Y`NALcI zIA6XlczM88q}G(e!MZa==P4sfh!3=(K1oh5j(bpRO7l31%s`ej^}U|X6}$Ued{!zWCe;dXvRH^jz z`qDcEtUazwv!kxKzGs~Ml)|y!R|DDkqdX&4zkZ9(8rv``W}?JKck}|Pb90~@b$Cf3 zC1T50k2?5(+CUz0hH7w&Apd)^KyPU ztsW81`mQHgkufo?@t1Xgg#qsAma~&b_!u*7qNfu{p=Hx_kQR}Gj0kDm!qEKPtlN&? z@as98%DjeNPhV(6Vxp%vYl#KbP&YYM=5FfJU4oBsfQE>Aw$8}i{DdgAft({g@jv^f{30zvMa%EYpV9Pcv_g!#I0YttEeDQvR9s}WB{{VK}{_29L>BD z-eVQxD7xy9qiH*E5wcnw;ptubgHC<_`U})Gi(R7_If1YL_0z@$M{Kz<0GnsL^crtT zF=lKhk@@r7SoApiM_a-DoUabXMa2dIuZVuA*+WYO_;-R&7CzWwZ>|pY0>b~U zmTr1*@P~Fg%fP^IT1`XS9UsfqZ-dt^`d^9jyaGi%H~G?39rje})T+wm<#f-_nQqVM zW~#)eCt~fwzI_wUvH9}loryLUsE4VjsoBI7+?G;j;Mlr{@3eU+ML(y;N^i1$^kP4l z#LSFnro%fCObBxQ^S87_KhtHQ;by~5ed`~WSw3Rj*Do&2f7y-xlfCZyiv4K7e^~%? zI0E0<8Fzx>45r#;%e*$Cn{8gF(;P$|HJpLYn&DxuXDqi)mj}2|Imjvc)GKmw=s>e( zHVk2bkd9FFS=*DRX!&A)2J(e9OW}tHBSOOATq)jUA~GiQ7+Bw^!f7LM1IWZl*{*LU znP|K<=3h{*jo+$J7WX!YM#YcjKE@?etJL}USbM`*`}uh_aiww*B4I)5+1kN3lF#)b z;&b&iB&SFEL`N%R3VE?3A7*O(PHR~$m6CMkp)34!y1)QK^GjM%kvavt#O3DVn2zd& zj~m?jj9!**;!JER3)GzWe^7rkH^i4lveOd>Ut7VyKdy`>Y+BD;Fbh{LTPPg5g_%uM zY~->A#fYytXUh)85!iBPN4h79?K$E3v2}S)=i+J11Au5-5Qg!P9FA=nGsWO8P~%av z3Gm_uq=nVSitAoM_z%BEVkJ9BeGrF0obP8#Ynwd53EFvxW{Qe0knCah(72EKL^z0eTo0P!bob*Ofyl-;NKz=!sM)1l@P8k zCuBvYD$2396TH6EktY|2C;8U9|^cUE9bdRWzZ zPW|uj5fdSx=06H3CipS*WBe%0z?|M$}Mr)#}*)~_eaE)qat1n+*DsF9ynUQ z*6H}A;E^yS92nPy8=n+~>aaU8TW2GiNip2+?ILn!@921CD}{*5{(58(ozk@k@Apiw zInN8%otxnyXZ^X@P|cEp!mx|RefiAQ%(tuYc=G+mDj1wdxPJh$JAH^Bq^5L5G*{z3 zJGB72PrMcEz{7xr71gH;@4fn|m_A_wqOP2x2q2vcUN)G?d?(mg>6k<%byaWS+C4SE z#7&+N4tu*lZ-S49DCuFu*;KjoIW?A=K}W~wG!7g&dS!2Dzx)iK2Y9nG5v}Hwi-n!tvh`W&MnCs^RWB?_ zJZ9!*(B^)7`{vSzd>V}kttg(=M!z?f1le%G)-~qwla@Y0)9fo_-FY0dH55$`=Ri6& z%xQ!}#^TywVvnZ}rnQ8Wfc8hJ%><#F8RRmmo$>p;m`iys$0%o@&47mfxgU8u-RN{0 z)n>B$6ZND^`uzO<;hM~LwR1@{Dh2DU03K_`L=Hk_dUjP+I#{Q+A}Wi`dxGCs81%0U zs8`PnlSzGmXJ&O%12qZ;W8~*j$<~pPcgf$UR$8%e+275i0O#3J+E9jvqvF?OPSEAu z*t^)`;Q@OgE7&RYN^MMMe_2lk)__bwNoM+k-Q`Mz30O*0i2iTHM}HdesTR?SqW)f- zP*8VXO=QKG6WVf7RNn?`@)w_D=s7){YFdegVlu#-dpTx?_b7bMpc&lnYWNZv83ThP z)IoM$ZRX)xt;NF6lgcIQk7%_ij7#ZYvKwAyB3MGUyt4AH(B_M-E~CSN`a$2jYEFpM zeYT1~tIpW9?fZ>%T$F3~{9V(|0A;ivofZ$rXne?%{C^RGFUT_T!&5a&(M<`E>~O~` zWt=%|%zJ%m?v1iVYE_`*14O|a`2b-IsBS#klVD+Ioi5SodKK0vq-1LPIh6}vsqpi? z9+k2XGh_X7g9F(MsM3q_aj;^vd+8M@Xq)U{?N57K+C(PJ&Q4#~pnN3Q2uppvLcX$d zc7E;vUW~mDPA6-CkbOA|U*QN-$7{cuzsT~_d{@nGps;zmeu3LJ^d0;EhIXl^q5Td% zWBuRIt_(43B|HE96F(gT7X_mB)@@3SWe9rz-H!5i47n&ooR6*8N#(Z{^EgvH&w z?2Ww!DkI~&tMXfk0Z5el!xo8b0YMX!QSrC}i>a@_SgzJ`a$6GUJ6_PIY4xxi!&o;= zg)~|&^A$sz@%Rk{epeSgsk5b0DmIyU7R9sfbna6m0>>|+H{&-hu= zeBMwkXoiaV!-a8J#0k(Lp{e!%{r`LN?oIcf6$jdL%s=tNM>-&xq&Z}3DI9p?Ku_gPK#K#Yt(Ga+0 zts;)qEA$b{+u^X!HP|0QrX95XYioZ2Cc$#S*?PZom8LI``C@-knt}jxzriLF^64E( zyF(5L31MVnx+hlHxfsb7H}kz%6acjaOKVUsV?k2n)GPzzJ476wCay}!!4$E)!iodFk zXDdGdDY6F;gAkCAPF$cmO{K-1bFh0iqkwnz7@;;}aAt?i5i}?Ca7h0jx?%%G4q4yl zrdRp-&$*^0wlvbt;Hz;x(=I+uZ|i&gayBB&CyRJ_>$KKtRSd%|tiftkFpkD+tD?3x zzOZm9q^>T{d`;gR@4Cp*_vnjQ1vIOcsHSGO+mA9Q22{6BW0JMCf+7`dt6dCxn#?3n z;|YX9JdY3L3W`frJnO0-Z%hpg{0&YZ?gbfx0s|3@xg!I)ZW~XgtgR6kWaK4XejeS4 zR0haLVE=iTIH&*>n5nbLJ%UEW<4{qF(^A(=IbLh#96wlW!C(Z*+K@LFl5V#ch_&p$ z790Fwf}maws*}EV6b<=gAC#)qx86Gkt(?rQRp)-+7x0pWfr0d)6Y#0Er36_KZ(UjNb@p(k>C8RE?qFH!o*zmEI~N%pWsJE2o^y3A?{X{rccj~ zr;a2%A^|V%ZEr)P^zrbiy@XCE$_k1pc4&ozw7re_=?VWaBYCbw!pYt=!vTlkWPzdy zwD4-ALuG)unn-uB`TRp%O!i2vRdO6H_OD-W0h@22>q9u5%KhSEck>&Yzm=6>pNuh* z9zQW7nefjsh2gpHHQjKb*t0iRh8G9@Q<;c(wiTtXX-3x$4w}v9*%nl~&3Rlib=k-o z^W%$MmKdrvM}x|+smSv&wuFTK{M?J8Psz)9POS|W0RaKXL_$X)JNq+qv~OfR!(Bvv zXmQUUuU4$C9(U61x4$^Vpr$8+X7Z$BG-|V>;x}{R=ievfFI`g36gChLC;2=yz_Jrz0OGD7Sz^F=kKd%4~;ENl=nGf;>9 zRxF_*r2VE#hdUt8$rv308VAJFK4~a%VMas*6l7kYVZ7IBu=nhZRgnED?`$Tbul$;W zEVsqQKe<R2Nxpas&Arh<&KT@X?}TXKzPYS!qLe^UI#u8SlBc2n6~G zrVk?44*r4*Q!2{j#r?@e(KQIMG=i15EVQW;MF~9!FELgx$UapSEQjH$G-mn1RNsI3YIo$$K)G3QJ@`G)_f2aoLJ07edy{+Di>_6yb z54R`SNS~-?_03{dVchpg)+N)Ap@%w)xBP5j`XOY+_-fS-=4wKeler0IKeBZueo*FH zg*MvT+E&)pv5qu5+M7yu@)He`i@n(%95f!|p(ffj7>qVGOCWS~1v;DPs6;ihbuph@ zhRjT8dpf$N-%(G*R9q~E-Uj#X>h9KCm+i>f?>NN}3G=ZI2WVw@JTLba@sD3(TUf9{ zLQdFphZBMfM1T^5e8`iTDie-X>1`0*93B%J6T4#J@jwwZN(|nV*Pf~31YC5*U47M^ zF#0W$6%T;#mP}$^AAc?u;Iy!or(>H(H5xm%+X@frL}mbXiM4Sa%71Dw)iPP1sW9w4>*f4eDoc6^X$dwa5U9Qh%_+cOE>2Wf-4!h5 z>K5mlCaLaae7N3B1y|^4$UFPRft1kK3?r##b8}OKo{%sCcpty|UlhQdbLVF{{#_}PMgLPg_svGbh7#v zGTn(x7CBOa%Aj?)iT{NleDI}stgeqAJ)+wE?c`J~^6h7p$MRW`$E)E6)rv9Yk|}YX zd5vBUUy}*BIp7DWv3#-CaZ@(A16rQQzp5{pavD^hy03fk15{*laz4LMv6|}b8^_Rp zvw>$z)H6}byW~Z74W>UA1S5(iYiW2OS8s1mNkT2c@aFgL->dxN1UrvV1E$86M~j@k zTxUOoEoM<0=;|pcjDK-+L?Fh86;4HdH6J`9MsiPld#jW8-ayOd?*2A_s}~bXDS-*z zKdY)zC0*B69s;5~DoWhBdXZ5|PIY=`nICHCk&IAgZXhVov)N|tr?=pDO$qhy*ltoH zBIK40#{gfVxKW1^ViN#MgO=du;Q+<(1hqyNeF2H7!#Ya^UnV-bm?V_Nreg`xpjxuXl z!Q&TZi+HyY*_BnhP%tY-94zd!^F5T)lap(Es-cLu@%b5`snOE9pw7mSAd zX$dtrh?|($bkXnUp_0AM5?X&Y3jbydw}oPyU{9TfdI~lg$S}n|r$tsVy-t7N1xIcw zms?MRN`Uaz{9>QWZnS8jeDNnbl{IVUP6PE~#% z>QxoxP1qIv-<_8o^h}Q@uAsylvB$+F<8!I%<~aNV*?UXk1>l%k)F%G@ReX{nLfIUi-@){0@g2ek+VS53|Er^Kd9?0=vOdtML1x&+-?|sKZ+}KSpP~9+;6&UC0 zM)%sFm$z(`TwTFh_?**)-p+)d#cV}VGpu1cKY#e~A-LDWT;ENVGu;HVj0S?Q@&{SvxGkA6!mqm(H8b`Il zLMtQ`I1Rb&ghG}`%LPB6;4d}=t)$%K-sU#DC7qf{;Ybmt=c)9LqhlARLxq}mc75Zb zR)dmGh>S|nT!N6XH=3z5YV!xz|BL5_+U$R21s<%P3Emjn#!5eP@W+_1ILQIYE6;tn zPjPA6{T1V3KUA*%YQ03grMW0hIonI@ymP+RbIN2af~ZeH%x)+C?v~bJ=42+U&XqOI zVo^9T@nODx`9%Ki&U$pTV|^Xn%uMg>JOVBhp5?=bsb;r^51v3$-sthDITiM<-h|A| zABJ%uKULFBo>$8A*lEqC*L(luy_q4=VF2TpR4bV-N_ z8dSyPD=yOcPlSZpdOd3mhFU$XCX4C(WhBckmfPWSaySO7&1N<0tbGl>)9G}ctoQzB z;Rtxf-`f8u+H##NS)hvZ$(~n^?}X(uAW}lX;8OjYx-C>F<@`tK?ripSW zjRu%@>Pk{E{be(SVExng_xC}GiPqBXxiUV4i30PN&A_nW8v{8a)0aBZ{zCpj^H{1( z!Z2se@a!w7I@)D?;$vSP8QKM*h@DS{#N zspDrlqi||j+hi1Jw#QZY+Qx>t8LpB{XRJiFn7(qc!eS|}gc8QXZ!WGB1Z;g0QhMc{ zJM}8#7|XNip&?7W9n2B`zXK#_CpA&Gu)LLZ|EW1ERYdh`oh<2x;*V;O?6Hvby3xyv zyF@IdF+JV#j5VT8mB);T_NH*AJX_;)+I1-Q48OmAM~61UkPT|o+8bKO)3|eUef7B? zWjeCko}pY+v$LPL9A!4wdyRYJsAi|jWOWW=iZz?+fn8A@e&!oKx4pgn24;eJKV?IF4-Ky)}*%LMLKPs;^l>|_E+`Xv-e{5I; z5Z6#bcB$%Re9xWa;Qfl0xV&S&z7cx{PEitK;-k)YxUi8!9GT?v-$Py@x!iu+omh8I zI_d~Pj|vZG!N_CrGn+>F==fnIqbZRYJ?m9)pyH=0vFPi^G^9#__>Rr2th8{nAS!^{ zA5VCf@LSwDVzaP7!^7i@q_RlMi3Xm7fF35ss%e^09_LALd9AIj{WoLQ&D`Q+oN^prwX@x76j>1-r<~DH+7`U5 zjLb*-y?BtYJZJ`5bR0e!jWuRUun;k}MQ?Dl)C}dCk2ngSZ#W@nJO$% zdjc}&ow0m%_u#mL;<5|IOIsKxC#hWv(rLbG3L4umS@1{VFxtqYm zSY$5y9{O8%w+Qfc#mB#0aHi2}p39NMPC=fJ2JJ=<_o%6yI*1h0)8lN8GAdOR%gg*F zehAB%>_&13=?$evmD!6Z9-CoWxl+?khZQ8_V`rNKf|}381-pp@2pLWRPBTl8Jb`!EYuLpZVqkQQLpSc>Nme3F(4ZODe;{Kwh`r zyPFVb@$TQ_0`F$md*x=lpnmk_kpoSNRv1n~a%7u2;w`H5d>+t1rfR2hx>SSnVq(I6 zOAmnt0F7w!3(y_c!t$?OOW{ES^3hC7PpFf>Z$uOvHLVgHo)>%q$Gcuy(3F?mI zTRB)+9XsbB_&ebF6E3InZJMJRx{_qOkGBQgtGmk$2>#;xgG7V%?B)sMIr9*%R>mQAfy^ z*K<^RlmN+ZV6CaUS_&y`pDkU&W0+lzrF6~v0IE+ld>CxN0^#fX@n}O4aG-re0AU)k z8NWX5fO|w3bmT+ALN|wJw@WDPT5Q5zT8mCf2^%*?!j#)>ef}E`U98l)v0PA8SK!V` zXE2$a%oS44O+gXrW}r`4ya;9V?W7Hx7-ELo{&vUeB$7GTv7!?ZVZQ0;K#Rf+(%)er zn)Ye=)mkLeKzRBeX?-XG(jiIJ+OMKE-cwQ6bU3w$GT9uA14ZJrw%90OU28itX1!q$ zKpf)gb*0%X#?Bykt{QoqFo;-dvNZ=U-o(v){~nhqoC~5}es_lb`R4kN?{2c6@*d zpU3zG%Kjtlqz;;!Sz=-$a4jvF<9+EINMPuioUCbeVpObBAuO-Bl%nU7QB`HIO3G+V zgK59R9hF-6*f+JVyLMjngWl}F6IcMau%EcIYZ^n6r@6tiC9%~jd6Y<}9TTbohT7bG z@@8uU-kaSOmEr*npVL;fBoX{T+XZiwxxak*{lyT`XwJ|>+rQ? zus~Z_&G=w#j7PUXXzNnB)%%uqjyv>~Lrzg{c8g^#{Gij<)eo{+?M|6_;{TT8C1up` z*EEWcKcq!Z|C%(OA-^U~BPcoRzBM;?7W+{jCV$)S3n|x%rNa1=c}DuuK9-+l^vKN0&X??+blI|G4jVrKSb>IiZg%H72OHteuxtZ*aW$wW=Mqg5c~5 zZH7Y&6o0HVJ0aC@43Keh;?|4-LN3s8wcVv3sW%oH;ca*_xeSRAD-^(;dd;7)&5bL{ z*k5@(j$*P`Z*26x<6AnSs+}&?<{xuhGaCs4zD!uy?YX*&qqjPcr-1P7AO>N81C950 ziB6Ix)J*#TiIBCSXQYJkrAipqow!|LPrSv&kBLZF=&NQjS!NFB@j1%~ z2zUvcXJA7>z@+yvcwZlER*jCuBxf?u_T_NlaebqWm4S^7tP0~B{bdMstz|MhM`n|V zk#S%XyDKCchmby7?VK{1)cl5@ih+YuW|68MiUrr%>D!-hv!e(^Yl<5Kf`k-Xsx~A= zAXJ{`79egnL z4%k;sp)6GaKGvMT;1|5o1nL3Qbv*Z@l}lu5n0JRr`pB3P^#5FV0>OZXWT&gL`Xu> z0SN&OBhLS+)3NIw=Fo6h0~0d=SbW4qk2lpD9j!ip{yePHUTtPmQwhx70!yTXo({3G zmj|NCg(_!xBd(0Dmj`D^_@#Wj2NeQb7hkB~Rt0BDeQ(`AFAEFv5AAQLvsoNSJg1Px zY7h#=B99{Am<4Gp5ih7sSw>2l93Dh3EQt5sdJpbVgGrXVB%!jY%r3Y+cyL?kE|G$k z1M)Ba0KT3(-X|%G_tEy)-%m;A6~sNRf3liYc6|yVUfpyXd)w;c{iRm)Cf$+3nIJEGFzY|X+m4~BmOebgIdDE z28s)QdMO&w<}Us;B3rA@enM_r>?NZ&M7gx z);S8^?VQeD>Plv5g}_wq%i!#6k|6RU9Jn8hy|vl?{_!y1GuoKo(Ldt=QC?$Ef7Q z9c>e!UZRz+Dk!R{$tt%NQb5DQ)uC1YOe$Ym$v9UnS*OWqEAQ>ygo8uh1{@EH6~`x( ze2R5f@YhvD?~rhvne-)?i84Jat5hor29n4~DSm%v0{r}#gm`{RCdwz8X(_6qIP=6w4OL?0Z=Eb21sCqgwERMns;dz{w5%uy^${Xgy1um>2y5$qoqGgCj#Gsj zn*+^DY{TX`c$xf?nF7Tr?RJ}9QEBOmOJP+$XnFZL2`6E3?KijI8alQf-#bacZ#J(M3m#_xV( zHs&r?Df0pdErroy4e3IpYtJKGak-4Y{c2QERKekLJlA-13h*-0ggd(E3p?3Zl50?V6}{;e}mX6 zyWc2w!d>yFn~*PFwZ>3RPpfje^~}RA6l<`L$*dH40Fff-_ge#(M1ObR+wxj6s^)Zp zAD{CqLJaoOE+6K~06#JSiLs=eWRmq~GgvBl7akosWt)ZI^VMqHY}Y}Z#p%W2$?}l4 zwfu&j=B<#1a_C~4&Fk#oaB|HpQZh1|Iyl84f&Z@MBR5fx(7(d3g(F9rz}Rf>Vp?#<<1VD=8I;xxz|`Q7!x!2>FJ8k^ij zK}bsrP(T3MSHNPCf_-_ECr<{fv=gnZFozYaz8)ZTWdS5n_Vr2F6JYVUf%;on+nTz} zAoErH&QOE6)LU++Yr-Wv5#XgO*q*o>T*qSk6oe-t{2xko_wnhz|Hz-{`S-&TgMOX` zUsqdu6blh5C@n25*kJ+3ceX;Tvyc zgDntaZV-FO{Az1~2ZZ)=w(IkIbqTeZl>uCUjbFSg<#hqTEg&G@VqrNuIsN{Pek*I= zK8!y5pfM;R2TW{=G*R?{==CUu>VGE=9cBX(FWOy~a@A+N+=nsRKE zpDVbNTBkC5lbt8TBqyJ*gi3>Up;w*;w0He&`~w2_|3WU_ME zcvk~E@X+Lvx%0Wd=u`ICSgqFc@|4BCc;tGg)5r2FEU_>2^c$1K>3y`5EtORuAfiK0 zcj}&J@1&f|0|+*VxTjeeqpKJY1V4QW4Z}rtR$^o^c>j9NvZg}(__Y1jGx~gBDE2F>FXN&&1uHjRHkqfkJRX9KAKBJ$pVR+E)R@+l)E0;%|%&blT^TEW}Og(#nFxzl!*#(%7woB+xj zMm(0>BMIw*O6o>@Q{wFCYnZ{xXzrfsuk|&Fhg<0)N$iP}n{yN0&g?ZKw{oE@6Hoi( zm0b5OvQ8#U?c~^qp!_})HGBhsOYe7S0){^nQ! zy#_IH2T>O*J+s#4b3VA2JO-P(7D-lL?>lO5_b^@r=Lji=daPmL;^G2#`mdy?=yO0s zY+?cDlds8Hw!d%F)*S1xsyn)BARPLbTJ^6BEKQ5)3I4H(pmJx?0{ZyiZEcf-fkE8&uoO#pUSuus+TZ>$D3}} z+Jf9p+qsW3*Y=333KI9?okYZ&P)yQco(`g?bxw;HNX=TjDEt2*ZY?p-C@_zH!*g!_1M-N)jQBfq}-ovEdlYa3&v6g;Kc? zl1)r8V;Sg2K##!>a)^9XLvJpp6CVfTtW@|-fm2twy#-fyyS^S*MFeuwS3sGw3FEZI zyowE?tB&`Y)Xx1|zQ58kiry6ZD=oVwT6(iLZ(!ba7Q%Rtoz5}uYv-UCGhWw;Z^Xa5 zI5x&eO6te*JBCX6^@nxLy7|5-l|kooIjtryWEVr*u5ZG2&+}=2HFRvF~R51w-t?LWuXo1w9NhW&zT+~1H;1fsU>uP?iGlmmVi9J8P=_7%eRz;_CDOjx50a%Gb1Y;$eo zc3&ji#!8p`U7XIa_!F;XS6pa!0<$zk)wA`_C5=$)?x0`hbB{Tz=fG@A0#bh`2S#)iJBXt{Mpgb*BgdGVI`#tFanbVbLmhbge9K-#`cF?xH;YsR;DQth_owWd;N6- z&+W}ar_lws%iv?5A-se8zi=e#=kWYVr@IGX`*i4(a6u^ z(#8AqMcM5#r|II~4{A^C@Eji+&B4Vj9JXd50Sja|F>(97Hv08by6pm~gbmvFYk`17 zHLuSUCSqVCqDL{Cvst88Thq4qw#85nunO_x#~cW12DAJd*gEQ;4}?-@n7s^hP1xvx z!#sfjXN?-FwEnMn&oE;tZ8p$w-Tb5haC{u}2H}8=iK)t9FvZAdF{|DN*U`){f_jG2 zX8fn%+!n(F&dyxcW|ibOvdaX)VFNt6e?q_3LqfoREVd^M@ckWZxW$&{=H)>c(D_T( z&g89*;5QZe{VQrio!%I06jha#j`qk65yD{{BO}%XK*lK#rLH%*Jc=JyA#&dE%qW6~iwtQPa zKmv?P0=yh4r@)O0aydE}=;!0%-^9bLF|8FS(+<55LmQcyIq~zOpw)6_Hav2FaLth+ zETEWjcA|)nNBdY1jVL7je}ZoT32_<`m~4Uh4@w7h%; zm#_R91pPX8LNv$}VzoGTM^L%c3Ckv)oE2dAcA1l_ZDB^@;u9^}ypa1ZOQ}_wmb>r_L{SgvxO12=*eba&upyHI#5wqT}xp=s?`h zwR|HF1_KcTB=@qb^Etxk4o07>3xoedSbIG4{Xb!@U+Zo-fhqYLzZAvZ`=J~WBv@Wm2nQ-E@Yn??3usio zI6XG2hnBG1wE4xUx%di&7WAcru9M6)-8%27Fv@h-U{vb{lFE`$Q@ia=J#{cHK!X?) z(Apepux1x=%h9Q~6l$RLgUC2vafWF#4}{irM{KgfI}rLaIo*>tj-qo3VEjG32_U$i z1l!yL;rjpGs^ZVS@dF#Jn5eWBW{s$#XecKpidQ(sFZ%?)s;YBWV!4tuq?UsW@FJm?H$KLm--eO)b9KbiBYYjoHH9 zy8KAC6UF0}*<1o>O#yk?>XlKeB%Qi5m=Y@Mi$FnjQE<9Rw4R_*^z&r>q{_H#{*d_< z0s_#-zu)t7Xi85{Z?m5$zi&a9i}bEfR79j@-TgcrZAYFF5gF@xut1TjjEDWL4sBV; z|L;l#=3yV)^m}qjO%(pF z2p*AyhjmiQ6fzfr@xemCpw;&yc6N5Q6obiUWy7kg7c(&qqSxL&cG5SD2Y}mnNAUS( zABCl&NCbaO78*CVmD4qhmDLJ}P^keqh9G(^Jp6UaeRl*AP@;3_{H});Jw}~;<+A6} zQo1Y`DR*h_TsDl_i7=A`XMHD8)}~MJNA;gJhuXT2!XkN~w}L(&;u(yCZQEwi3u^UX zP5k%*AQ1zEwdT*VG79n>D$mYr8&}TX$Qfu>n_^1WeOx})DQRr09#>bVluqi@cr_Zv zX1_PSHLPmoWQY6f*O7JQ%*pzS7A5M-+c;JbYnuX`AfKm6X!1T94iPM0HUMpFv)yj& zRZZLItM8i+-(I}m3L-Yl35ILB#rQs=G>MEnpPwYWVVd;H;Lc>4{ZIhFhsZA?|7fS5 zP*P-A8JNm|wC;b-?uS>NWbR1z$sNNGR82o~f*79HE>r#bDO4AOEjI!(*soiRT&nxx=KXgdzDyK8I$-C0+gxdj zGbAtNGAnBLFEb!#;hfLa>t$ikcXdA@W@lo$m|<%C70P8F!WyCU_)y*4Tp%ep5^!}e zBNhnxZVv>NWmeKo$m`rYt2VaM48N$K1^K2iXmVkiWnVfng}*tL0ibhrX#og-)y!f6G>+OL)2Oa-|?W}a0e6j|C2Iur?$q&Kw5CMlv~f` zgoQR#RPg(uV7oslE;7R7;@;p*JqmQ3wmN8jsRdcy4pC6ffiN(hFWe~5hv@=Jt-iax~NBLHJy{CpjpP<|P@tEk+ zP(Z*ZKi?=s=Hd*jIclIG`5Y}fROAKowWgzG;%3Mzhs}pmv(VkL3t)&(;T@E9DJ_p} zwqmjoWEH%4{m-5SgbF|Lwb-Ogf8l^ERO8t`NJIYb+G{87zw<@Azk<+3`VpP^yVSE} zvZ-?~Bp>d*$HfvlMx+tsIvU-(QJ;&cKOR;ei(O4s-G^Ww)G0G_MUvl&%`G+=TmQRQ zfl`b<&Ex-+VgX`HTjTcuTs00`ZJ~fhxU$TaN$1FVNhq85YuMoZOU$9Ggs9lqnDEv@ z+KngF0NVGqGgRlj96I#109LO@WSFYR2Gu zjK4C4AcC}9Ro@uO5xGfyj{T5*0OE$3k>qbvtSTe9;i51)+$z{dN?Q$^eu{?SivrPF z0v*sPr$E{YL=T-z8Qn$02lMCLZX*WfaatLJ#*cS8o14lsnS(Dm8HNpbecU#sXhI{a z$Ry&23RM{vra(#}5;k)PlQ~y&P#{-3efHoU2-B5yKf1g3n4Tu^0mFMN%)b|6iR|f+ zk@gXl|LZV&mdZ1?`TtS%mQhu9UE8n-Dj*<@o9;%WJEa8aP+GdXySuwP1q1=58|jvA zknZmKmX~-x@App~!`R#NTx-rF6G7e_jCDuF~Kx6!4m6iS8oUcFvlL@4tqQJMHMfN<$I zzI?76H00NFY4v`l781CptV(|Q%!O%i{0zZFk!2YPcSP^$Z*tHHE3$v`FwOPq8)Y}!&ty&>!Re=f^zprA;;HbVX#sA>7 z5-c}W*1s$pQ7BWEmy&qtBH()AFios|d~@^O(zAV? zk4Rq@7q7h!w#r`7d~1Oo-^B2#sH}_+RV&NS9*hv|9s*#|6*&d7QH*Hj)xRu&U%I*i z!3ZKl%uzG!6nQcfHG>2mlu3!7#j?vR%vDs{22#F6;8VrZP#}y1Uz`tS$SWyHDJtfO zgt=aATqz{;X*Rn!m^VhHuwEr6@oX*N$qr?qQ7ka9MbukDspl6fQ9&R_F3v~4{S3=V zU_^)rz6S@xTaf2jo-DJxxufi57=SdKjs=^DCa4{6-ZH=sP4sJ7cFERDnTZfftg1&@ zOEHrC2U|h;^AE8?7spq7GV)SQ*jdjGA4W8-KR*xqG4>szle_hHqObV^;|yBUrda7~ zqAXDV;xOvM<|veZU)@GF9Q(R+y5yBbXq!-e`z+Zp$*jpJrYR-mu&bSIzpuO7u)fAs zbEPxv-JWQJ^^!O<35aYLkXZiqW_t}u?NV(e>mdW*wJ|Jv@ZI^}ubv-<6fF~XIQmM4 z{x2wj9>A}!B=W#9?@BPg^x`9PiL2w$GYq}+;Wrk9=~LFmCc(SA zE6<9c5%et+kTltZ_+?ZdU{iRwtY=w6)a$=*Phy!sPuj@LR>eQuLi=EWigWdfpO#B4 zMc#yEEv#nR(rMIucE)4^S%T&AaUaO2k(<)_2yl;o@g)>q*C=q*_MU8{gyQv;;qG69 zqh+zqE@aa3X)i$-0bjbT_~`B8WxN3W)6dfd^GjCySJM&;4X<{VrrF7OgoTyYHlzF4 z1rTs<`vgA9+C+<2KB)kHdO(hm!^kvOU-U~A(gxi9e)x!ba8125T*STJFr5ys79CzuGINTs2+5e8D}jJd zV}2_{ekulpFY$Ts@&%&-6RoTxJfs?O_c4XwclP#0^)fhVLvL{`Egdpu-VmJB5IXIQx z;lqX8zU$TIQ^Rn9kmVWQoNrZGygIOv0Y3mqEOj+g>b1o7VsNrei;Xu|fhf~fR&&mg zp}%?-HBIZbZ|g!B8QW5EZZU7~?v653;^I0?2q|f3-dV`9GiNc7tUw$$+irixb|1T% zsJhE6)V=Fd!s~vRW%)X7JW#WTjC`Y3{E=m>+nc+jZz?N|n`rn^>>Mol1d_oOW)b8= z-Uf-Z(P{mrSoncb0aF#9*$^2wv;PpJTmiqGr>xuw4jd@H(|`_X3gWZ+EtJA)CPX1E zC2?=_0S%WGb&tBJvs~q?Iunw-Ra>?-iOb&?02!6iI-YX*bM!w->n%+73SY?^OIpE* zXwemyLBrLthWBCdAr1qApO`n?M6d+2h8DPa-A37$Eh#BV@crxjV1w2ghu*&Cb*(A9 zfKW&SWRMQ`jevj3`1M>Z=xk~)K&V^=n+*rMZ<*@HsYph%*=!nm66o40hOPHex&F+(c?owDPEcO#~! zukYcFBD{y%7?JDc?)}U=iIK691u8FcCV(tA1iYTrnBUAn`6d< z@z~i^1x@J1mC;np8bGFI-#*9iNn*y+Y&-=vGD&!9N?5vA_}n#meVAGPs}>ZVs^1Lv zL_YwT$pO&gj$Dn47t`VV@M&yK2sF!hl z`qE)=%3T|}bF$KInsNN)({z1N+C7JrR>hI`M{2e%H)u`$nTsp4=A)dpMiV;gEki*_ zC^MsgbJeE}UTO_cL+~&Zmq89b$a96y7ugdyF`NAvU-SyX%`O-DL`CD{c=0`%F@Qy;58CYrE#{aM))dquL2MP*Gplx_~_&OpxRF)zjh4o_PSZ$aXHKfvS?WY;v(0&w<33Dh{vshkOia#J+B5lqPpXn_?gK3{WH&!DO!r>FYZMc2xEXA*}WS@hRHJmCFaYCtD;7sHeFGHma zuB2lCE4;>W%sX0-mc92MsF6s(XEo`(TPhHlq`5elc9}61$Po&PDJLL#w$=n}0dFLGphg({O2@>t{e7GL7-DKFJk?J_g zky0APeQVPE%>5@-b-x!aCwh>zd=y)1H3S=lG~Uck~ePq|VEG4uV058o>) zoKMIf?z|2wLAwQ5GvQb|B4v?GuA1nJu&Zp%Uy9m{A7i>pyIM(cvobueK>P7w`TUm& z1UyC}gd|LNy^Sv~A5_bqN4$f6z@Gf@T|z?gX1J}AT#qKuK4?6*pn!{=JyY%NX#M9_ zZ_t^|B;J&i5EFxmU8JqwY2yB#sK(*og3I1gb+kltaeszot2!wm?aq38jO`^>n}@ny zN3b=C$md;P`Uhzbo^17PPBH{jU0pBEaD2t#j)4gHJY%*MqVTrR*8WVg9BK?zKl9DM zIYyY6P?gk#@$o$+CiL$-(c)lwmSUl{oyDWn zVwdK+8>M90up7C2!N69Jg4A;P<6*;wyRv%ZBJec^fIknA2OWpJT@)RX8f={8%g}sI z&FA=q+CSNdQXB1ld#tEV)hKN;6*FzP`CE5-`o+4w6ARM)^HEx=k@@p9J8xXK29*`` zme$d)aqC$f_-b#dH*7l_UFM32Q-uWLWN@gxxI2IPBxOu3r*kwLMc3+X#)?7)zp=KM!kIM%{M2|O3KHvYI?O=@m zGdc=!k3DkX!bF*QrRqvuGPXi^DbHVQWGv&GFjX?L-Bx;6Zar+gmDQ250l93oHhk*_ zOJ*`&Za@bK=*9*SXDE%C&kh&2Z;6$sgDVXtCB+JlHluPfGCE4tt+BBaDfXtB9_sAc z^@l`0#Gj7F!$_cu^yjHefxG+$i=CY$corl+tU;1kI6EteyDZo@9!^>;7*I$ zZTsHboTKVIqwi)W+}L*d0M{U>d49d;2AhL5;jN`Ul=uVfWvqQAAv!&zN#&j$~uoPew1o9 zCt%d)1v^FxpQ`ajDb&xzR0ymM?1=q}t8-!LQJ-1IOkmqeTf`b&kai zQD}Pd-%oUi2Z!5a?Rmm2^@)j?imW_Z79&@4X?>$1xUhG)cz|E3y_qiF8VV>m%hc;x zb#^y4*ucam5|rPtq;7re^CJ5>Uzv!MB;xx<1v4{=ENhEa8ncFt(zkAPInB-9Z@|$YD;)|KO1=uw{vd-bm>KL1A>=$>-{N$DX#B{sV;Y$CO7uJDpxBE{KJW6+a($ONY z|E8y>yH*yqrFeJK0;5fs&~Kku8YPgOUCL~c9_sxxUlQDG>1p%Q=#hCc`3P-w<;Rvm zJ@4gS4hr-Y6$UEF3ki3<77#HFr+ZqWQe~>FF!+tn{tVf5c&^22e-!1WU;63v58m-W0`a+g+jdJL z^G>!WXZ0T=xmfMjmh|P+AU9YF@sMurC z(Gr7o;Se_g8zq@8Y z8MZ`B<#kJj=;`bG&!vUR_3A6kaSc{vYps#9{H%#nlqe=1fBuVygwWZLVhB5aFc{uc zrYd%lnCb7oKQf))C@-SGLuGQ$^UwgnRQ^EP{c^eQhDcOI^bq@@z`cPs><`%He&^hY zy75_t=k*r5ud~lWBc7`p4ZZU3*T|Vfc3a%b2xOY^A3silSJyUZ_?AZdYC z`S-zYsPE@1Rz}7(Zk|1h`QIVT$zN3q)TsE>?)(ZUKK6mp6)C$QK~7FC5`mM6Nq*Pw zuzJer*e1|6&RQ{zb~@9p9C`&+XML|*detw&zli)H-g|VI?ccy!hDx~}bNg|F>=CHD z#DgVF>daPWx*6JIbz7Ojvgi<KIVWRQT`PHDb!(cA|^H^XC>8XWqedNow zDfYz#^@dkS->nrrYeHlEB(qf-IqSYBGYjx5UBRI#(9*(J-m;w;(Q8B5TC|&)C{3+@ z{q>yim&1)!Tl9yWx%}?Sv*>jYP`cUl=3b7`96DEMWi!Yxjn*W|5+eZ2^vEbvP36uh8d%sG5Gm$BtQ@c_hDMwGzTf{W8w0A3N?y=QU@p0ZO9!u+KELHa;5Ftoh6sd>@ty41EmL4t#zIhVju`m%rtRr2_KaFmVC zuqH`-*a9W%)$^zJb@qF~OL+RvU=NKJn|N|)<>W_N_@&hG-Ypy~q}^ZJY3bCihLY=a zvOjyKn8=Xxw$ejB1I%%`E)Kq2@0$wkNAnvDuExi{T$oITU!1RhGY}Cb(p#PNR`K?S zenFj*cqk7POT^TY=$EM+HpUn{_@MG&-)IW$Luuh9Lu#$Fp2@um>EAiJ#X~ByT>fRL z)H}n=%Hj)p>m31oQYqL7=R3mHh2g>UHAHH`oa_?0#$dWh#axT>Gw3RdMfdyLE8>B6 z9Eyd;8|xWnT@j?Tx6AE|9vhgb3w^T>YJ$7dmF}#pRvAm(=wn8X)iws!{7))T=8^DX zi&wk8+9#cYnk@vE-J`x66AGMCf%ls&K z*XD*N87xi4tKUjIJ|iGAJ@g4j=1Y=yk2qVT&=MFy3Q8_Mynkp@c3rqos2>R{eWA82 zO8ld3furlW1MZfoI)M=zQa=|<#jKDMhtmQ-Wy{F!!2$gkKj@$o@qCp-Ym9bpj*j!Q zaBggD37;o2>fJ6v(6hDmN;EXZBBeOG?iX|uyNe3?4Q?r`8(1#e=(xSnWvY53+3*?B z`lMIayoO_&{`vVCY4da>IfshHZ!x3h)eh15hQ1q(f^DFKjia@-RlpRPQ-^#ewXU^t zrAB|}USqIeUPivh;d=BDkP(OVs?bAlse-i7=`RmL%Hc*Lt$fxK9L^`;&_mVPO%ZR$ zXhbZOXuftjyr&0p-C#PuNq`>I)Ua=Dc zD*{ZT^k^dl>Fbk`9B9=azrziBD5;e+>d<>~^b{3O7#Z>F>(+Dg8G*7$1}gdIZ1vU0 z8_=(&NfYh%@=x@s>%%<{6Rso-Jw2orX(J}mUpSdx|CUSn;lkQI9UK{Pd}P+kagPrc z;JT@yAomkzit>zquW2aa7L-H8x)BHagx%ELHqTRICQI9ko?!Tlh;U5(o}Hmoj*~6| zk3&f*ewm1jjEuDl_KXx16sw_ybeB%~ALZqoPI9kbhW6!gJNp`_pqGfIIkRwa>61NZ zG1W+CT+CJ%PtVTYT)U6c;k(?sZq`^)y~2O{^3800H7IqkHqKCo1G*p~-;O_kVchAw8;?l!Q4; z$zZ@GrP^qN_u9ml7XX^JNt^Rm6`XyJhxKZx?9c6uihz@8by)H1` zY01S;(A?R%J5%5Qgg;R`DYv$?EKkslA+NLWrA1<+9{(I?xw>~VU&|ZlFLHAF!o{8m zsWnp-TfC*zX_QLK6iR|0Bqw1!mKrYtGdN>!@0q;3UqH|O^-dXyXt<^REeMz&05BZ| z^Gf|;RZXcR^lTAGid68-`3zc&z(K!MKf|{B-Ezvf>HX8kivem2E)rVBSxNVCxwwLf ztjE{zxyPysLkEw&MlFf0$ze(TegkeD2)Tx7`@HYLYHj$6BNLTUlAu<3$`i&ZOr? zU#BMTI=#9f-Y=wJ-a#U;^;9AsWRHEFYHLRVUUg|U!m}|mIu>$p#O*DlQ60rbMJ;b` zUT%(%=u@-5yuLUXqHLZ)fUTXhlQWTJ8q5Cak?s5l3bc5L5gyhy-<*aUL9RxASXWrr zI@P*<_?7WSech$x_Kk^zm>9qFZ(tB-tOUj9c@|y{aU(BNlt)HhfpCNKla<)Kfq^JI ziT3GQ1r3d{R-ZE2Z9;nK0!12=DEK-{)jn#Pmj%>GjP^(0r8DNFIl6k!xAm&@!%~Z= zn`gSz>s;9#ktHuPY3Mad3=LnqtoMW6M2>*ZU#`;Kt=?qPQ3n>5uKLFhH;~RD1Lt(U zI}J!|t=M18M>-b0*CPRCjz^t^Dpy0X3$vIVj4R=(jKsv!_d>g0ics_uSfP>LhuSqoX zx?HDjZ^rHB7VJx?JOuMVfE|KGk2!vo9uqU_X3TY&Dg4ooHbyny`TZ5Dpe?)6UkTLG z3l#n%|JIjt!qSYATU-}h`j?HaSJr^Fb~<3K#-gM9nwd!m=jRud__WLytyD9Br$R0h zGh<|_mGL+u#zEM80hf`GFDh`QJ-~Q^AOumDf|MJF72(jNo37$vy&ac%f;1FSAP8m*wkFO0s z1FQ^;EkowWf8pOP2NHyr<2gt=$(A>KKYpu#$$8m9WM2%XW!rcwO=AlU@1a#k_F(wX zfSW{U09Vx+viz$-gmSLY1r#RNeIVE7;HU++;uu!YJ_^#U2qbGbO10`IE>}DR5@gKR z{Y_1)7d;J=uE}bKfQ@^(6LAcqA2{UKMJ4Fz=g;>-9O$?YvrAV1!=1G3a=yE@pe|S9 zY;7zz1i`y;I5bq=2tnTMbKfBUiieSbZlbSk_4)pbdO=kQM@?c-k&Trpt3!7MW3qF< z@R!HK`T^J|8BjDf?5}z2yj*OH>-GTUxm*lWkY8ZRSFSaCbOtema^y>$QH(}cxVC5&#K7#$65gd(UzgEruI65uMSkW*dHtmyk;5*?LWn%U^C~e zNPY;hd7e+c4uBMZEGAAO7Gjm-BFH^&Uno4H4$O?s(kD)OMS{ z7rx+dx9VLLhB>Qo;G*bmifL-qxkp?&^_N$wll$4YcY$-91lTMHc9pQel zKYqTe<$OiH;mHaB80~@NG3f=fJxsd(YO{7(iiHy2mxb>fhgzYMG8Jj*@NREwve9po ztyp*Jim0_Sz7D008ok+@N25=SLf`~(M;QTVq`3?3cl+bxH(1s9ssUK2{e|Q#D#R2u z{>D+#q6{Z8j}d5rp0q^&#x+77DCqg2A-jw8%lzCt+IglI?I`dAP8mcwu=q_TN@Y40 z`(vf85AY|v?fO7bnY~~D!y6J7?0pw;nW-`&z3kSx&=>YPYw@cpuWxE<Np>UR%lyw|GTaFQ%FG-RX?(o6xgjg|Eg{&MYvom=%KJWJrNRoNK8VVIM zAwA{SVxW~^Y^10a^Y6=)g*o)N)KNl^dM}Mq+B;px>l%eav1j$|GO_4&c;5v>lps#e zF^~_Vzzj?gzL;F?*;Rc{D(cS$iKj&BpE?;BGZ?Bt^-C3LRHEzhe6m9H&e11B?Cs_} zPWi$o%hM7^)Xu_a6bhqYc%AzvOF8rEEwv$@hGTg$L@@Ak=lcgkw&n^r$^D#y;u z51ND{)2;N{AI{2zTFC&>w8+t5il^?SZm$a!PG-p+(yl9fJOPCO;|k6OQ(NZ9|L!v` z)X1nPWp3B6P4?5u&{#M-NvX#iy|Tj!qrYJ?o>;tr`X23#8j7)s@l)IR{>y_!41<9R5Rcu_|6%Od zU?kCE`Y8dY(oJjMPQF)bPB`8{VhW$>96J{)rnn>)*7)`~*}=1(pOINFmw(A>Xrz+K znX0O&Fy;VvRcH7>^GgS_<wn|JSdd^lQmC$ z≀zlN2EXnHN{|v|}XNMQ(6Ta)^JK8v#yG@0QwCa${u#hmuZvTFn;}Px%5VJZ@Nq zkAf|OAX?)!8A}IhAg}$d(ZRyB)z$LGB_%daLdM(HZyp}gg1vKPYPG0PhN%n>X2!!X_}S2@o;wMwlq%T<&kvu zpLIo=@$bSDOZn7HgvIrKovJ!_;*7IJGD!TD;rV6G;wtYIq}uW}Z#=Nh@vJbn&{eN7 zBYYjJOO5nEZ(}g6(fLfPnepT+~?1zu(4I}_y#wAcLxSK&Qx2> zO;@JoiT^Ohtam8p;yi}-&>%W#4-m!UBwc9eF%nH16^GOfEE?Z zD-7kv!RvBE&|1eu?!KGXxz12qVmdCzP4&qC#_q6e3Q5{JRDxw8eT44blYE~4!JVB_ zPJIF&|3J$b;Sh<}$t)1XX;>xAwQ4F)AXq>0hN#SkXgBppny$DGIrrha@%Z*G#Vba> zBIyiX)oSy#6y%EEzn_AI?D(w1iU5pNVQ)UiCLL97+4-NeF+Y9bSJ+?!??L?LVs}w0NV2vB`n1T z3o=l{AMPt_YVy5d5CKfXw~)uv5IAST!LsFntD5}ZEq=IzmRRf5c5lO#=teBu4rr~N z8CKm>wG$8})O`h1))c#nN=i*O8{t2G{E&HH!3+}#&tyASlc>`r4i`y`AU?350R~*| z@5PhFlO-+}Da2NaCt&4ZxBC5&e%bAyE%S1b=$&oxeICB)kCED@OyG4u4E@5&~3Oy)-wW|LU_H^0pDJ)LlZfOby4+v!c4JVSFaKr@1* z!a;;ClRvLC5q9#3{J#OBC4z+i|Nj*p?($C0jA_(J!?d@FDkolWP*eBL&!-*n>RfJ* z7khla;9y~A*Iwz2rI7Y5zI&!i+Vq{%`X>i*_IAD`=U3Gg6!etdzHYHPH!j!lB7n

    ohOPfY?M7E{SWSLkrvAI7SJ>QQNc)% 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 z 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�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 Date: Wed, 1 Apr 2026 23:11:54 -0400 Subject: [PATCH 28/31] Renamed `convert-collapse.Rmd` to `a1a-convert-collapse.Rmd`. Polished the vignette. --- ...-collapse.Rmd => a1a-convert-collapse.Rmd} | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) rename vignettes/{convert-collapse.Rmd => a1a-convert-collapse.Rmd} (90%) diff --git a/vignettes/convert-collapse.Rmd b/vignettes/a1a-convert-collapse.Rmd similarity index 90% rename from vignettes/convert-collapse.Rmd rename to vignettes/a1a-convert-collapse.Rmd index d48b9aa..6bf5019 100644 --- a/vignettes/convert-collapse.Rmd +++ b/vignettes/a1a-convert-collapse.Rmd @@ -1,11 +1,11 @@ --- -title: "Steps Toward Tidy Categorical Data Analysis" +title: "1a. Steps Toward Tidy Categorical Data Analysis" subtitle: "May the Forms Be with You: Novel Functions to Intuitively Convert Among Forms and Collapse Variable Levels Presented Using the `starwars` Data." author: "Gavin M. Klorfine" output: rmarkdown::html_vignette package: vcdExtra vignette: > - %\VignetteIndexEntry{Steps Toward Tidy Categorical Data Analysis} + %\VignetteIndexEntry{1a. Steps Toward Tidy Categorical Data Analysis} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- @@ -32,13 +32,20 @@ library(tidyr) # Overview +While R provides many intuitive facilities for the manipulation of continuous +variables (such as those in the +[`tidyverse`](https://CRAN.R-project.org/package=tidyverse) collection of +packages), it somewhat lacks the equivalent for categorical data. Two such areas +include the collapsing of variable levels (e.g., combining hair +colours of "Brown" and "Black" into a "Dark" category) and the conversion +between forms of categorical data (e.g., from a `table` of entries to a +`data.frame` containing frequencies for each combination of variable levels). + ## Tidy Collapsing -When trying to collapse levels of a variable in a dataset (e.g., combining hair -colours of "Brown" and "Black" into a "Dark" category), R had somewhat lacked -simple facilities for doing this. In fact, it was often the case that one would -need to first convert amongst forms, "collapse" their data, aggregate the -duplicate rows, and finally convert back to the initial form. +In R, when trying to collapse levels of a variable in a dataset (e.g., combining +hair colours of "Brown" and "Black" into a "Dark" category), it was often the +case that one would need to first convert amongst forms, "collapse" their data, aggregate the duplicate rows, and finally convert back to the initial form. `collapse_levels()` simplifies this process, allowing for the intuitive collapsing of variable levels for datasets of any form. One just needs to ensure @@ -219,12 +226,20 @@ object): Instead, one may simply use `as_table(X)` to convert to table form, `as_freqform(X)` to convert to frequency form, and `as_caseform(X)` to convert -to case form. Additionally, there are functions `as_array(X)` and `as_matrix(X)` +to case form. These are illustrated in the network (node/edge) diagram below: + +

      + +

      + +Additionally, there are functions `as_array(X)` and `as_matrix(X)` for converting to those respective types. Like `collapse_levels()`, the single thing to keep in mind when employing these functions is the following: when your object `X` is in frequency form, an argument of -`freq = "your frequency column name"` must be supplied. +`freq = "your frequency column name"` must be supplied. Besides this, the rote +memory work of having to remember which function to use to convert form X to +form Y is now completely removed. Functionality of these "tidy" conversion functions are demonstrated below using the `collapsed.star_case` data from the most recent example (i.e., the From d2016c000f6e8411817be6d431916de7d85b4868 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Wed, 1 Apr 2026 23:12:42 -0400 Subject: [PATCH 29/31] Added `@seealso` tags to `collapse.table.R` and `expand.dft.R`. --- R/collapse.table.R | 252 +++++++++++++++++++++++---------------------- R/expand.dft.R | 8 +- 2 files changed, 134 insertions(+), 126 deletions(-) diff --git a/R/collapse.table.R b/R/collapse.table.R index cc13a71..12da20c 100644 --- a/R/collapse.table.R +++ b/R/collapse.table.R @@ -1,124 +1,128 @@ -# collapse a contingency table or ftable by re-assigning levels of table variables -# revised to accept an array also - - - -#' Collapse Levels of a Table -#' -#' Collapse (or re-label) variables in a a contingency table, array or -#' `ftable` object by re-assigning levels of the table variables. -#' -#' Each of the \code{\dots{}} arguments must be of the form `variable = -#' levels`, where `variable` is the name of one of the table dimensions, -#' and `levels` is a character or numeric vector of length equal to the -#' corresponding dimension of the table. -#' -#' @param table A \code{\link[base]{table}}, \code{\link[base]{array}} or -#' \code{\link[stats]{ftable}} object -#' @param \dots A collection of one or more assignments of factors of the table -#' to a list of levels -#' @return A `xtabs` and `table` object, representing the original -#' table with one or more of its factors collapsed or rearranged into other -#' levels. -#' @author Michael Friendly -#' @seealso \code{\link{expand.dft}} expands a frequency data frame to case -#' form. -#' -#' \code{\link[base]{margin.table}} "collapses" a table in a different way, by -#' summing over table dimensions. -#' @keywords manip attribute -#' @examples -#' -#' # create some sample data in table form -#' sex <- c("Male", "Female") -#' age <- letters[1:6] -#' education <- c("low", 'med', 'high') -#' data <- expand.grid(sex=sex, age=age, education=education) -#' counts <- rpois(36, 100) -#' data <- cbind(data, counts) -#' t1 <- xtabs(counts ~ sex + age + education, data=data) -#' structable(t1) -#' -#' ## age a b c d e f -#' ## sex education -#' ## Male low 119 101 109 85 99 93 -#' ## med 94 98 103 108 84 84 -#' ## high 81 88 96 110 100 92 -#' ## Female low 107 104 95 86 103 96 -#' ## med 104 98 94 95 110 106 -#' ## high 93 85 90 109 99 86 -#' -#' -#' # collapse age to 3 levels -#' t2 <- collapse.table(t1, age=c("A", "A", "B", "B", "C", "C")) -#' structable(t2) -#' -#' ## age A B C -#' ## sex education -#' ## Male low 220 194 192 -#' ## med 192 211 168 -#' ## high 169 206 192 -#' ## Female low 211 181 199 -#' ## med 202 189 216 -#' ## high 178 199 185 -#' -#' -#' # collapse age to 3 levels and pool education: "low" and "med" to "low" -#' t3 <- collapse.table(t1, age=c("A", "A", "B", "B", "C", "C"), -#' education=c("low", "low", "high")) -#' structable(t3) -#' -#' ## age A B C -#' ## sex education -#' ## Male low 412 405 360 -#' ## high 169 206 192 -#' ## Female low 413 370 415 -#' ## high 178 199 185 -#' -#' -#' -#' # change labels for levels of education to 1:3 -#' t4 <- collapse.table(t1, education=1:3) -#' structable(t4) -#' -#' structable(t4) -#' ## age a b c d e f -#' ## sex education -#' ## Male 1 119 101 109 85 99 93 -#' ## 2 94 98 103 108 84 84 -#' ## 3 81 88 96 110 100 92 -#' ## Female 1 107 104 95 86 103 96 -#' ## 2 104 98 94 95 110 106 -#' ## 3 93 85 90 109 99 86 -#' -#' -#' -#' -#' @export collapse.table -collapse.table <- function(table, ...) { - nargs <- length(args <- list(...)) - if (!nargs) - return(table) - if (inherits(table, "ftable")) - table <- as.table(table) - if (inherits(table, "array")) - table <- as.table(table) - if (inherits(table, "table")) { - tvars <- names(dimnames(table)) - table <- as.data.frame.table(table) - freq <- table[,"Freq"] - } - else stop("Argument must be a table, array or ftable object") - - names <- names(args) - for (i in 1:nargs) { - vals <- args[[i]] - nm <- names[[i]] - if(any(nm==tvars)) levels(table[[nm]]) <- vals - else warning(nm, " is not among the table variables.") - } -# term <- paste(tvars, collapse = '+') -# form <- as.formula(paste("freq ~", term)) -# cat("term: ", term, "\n") - xtabs(as.formula(paste("freq ~", paste(tvars, collapse = '+'))), data=table) -} +# collapse a contingency table or ftable by re-assigning levels of table variables +# revised to accept an array also + + + +#' Collapse Levels of a Table +#' +#' Collapse (or re-label) variables in a a contingency table, array or +#' `ftable` object by re-assigning levels of the table variables. +#' +#' Each of the \code{\dots{}} arguments must be of the form `variable = +#' levels`, where `variable` is the name of one of the table dimensions, +#' and `levels` is a character or numeric vector of length equal to the +#' corresponding dimension of the table. +#' +#' @param table A \code{\link[base]{table}}, \code{\link[base]{array}} or +#' \code{\link[stats]{ftable}} object +#' @param \dots A collection of one or more assignments of factors of the table +#' to a list of levels +#' @return A `xtabs` and `table` object, representing the original +#' table with one or more of its factors collapsed or rearranged into other +#' levels. +#' @author Michael Friendly +#' @seealso +#' \code{\link{expand.dft}} and \code{\link{as_caseform}}: expands a frequency +#' data frame to case form. +#' +#' \code{\link[base]{margin.table}} "collapses" a table in a different way, by +#' summing over table dimensions. +#' +#' \code{\link{collapse_levels}} collapses in the same manner as +#' \code{collapse.table} but also works for frequency and case form data. +#' @keywords manip attribute +#' @examples +#' +#' # create some sample data in table form +#' sex <- c("Male", "Female") +#' age <- letters[1:6] +#' education <- c("low", 'med', 'high') +#' data <- expand.grid(sex=sex, age=age, education=education) +#' counts <- rpois(36, 100) +#' data <- cbind(data, counts) +#' t1 <- xtabs(counts ~ sex + age + education, data=data) +#' structable(t1) +#' +#' ## age a b c d e f +#' ## sex education +#' ## Male low 119 101 109 85 99 93 +#' ## med 94 98 103 108 84 84 +#' ## high 81 88 96 110 100 92 +#' ## Female low 107 104 95 86 103 96 +#' ## med 104 98 94 95 110 106 +#' ## high 93 85 90 109 99 86 +#' +#' +#' # collapse age to 3 levels +#' t2 <- collapse.table(t1, age=c("A", "A", "B", "B", "C", "C")) +#' structable(t2) +#' +#' ## age A B C +#' ## sex education +#' ## Male low 220 194 192 +#' ## med 192 211 168 +#' ## high 169 206 192 +#' ## Female low 211 181 199 +#' ## med 202 189 216 +#' ## high 178 199 185 +#' +#' +#' # collapse age to 3 levels and pool education: "low" and "med" to "low" +#' t3 <- collapse.table(t1, age=c("A", "A", "B", "B", "C", "C"), +#' education=c("low", "low", "high")) +#' structable(t3) +#' +#' ## age A B C +#' ## sex education +#' ## Male low 412 405 360 +#' ## high 169 206 192 +#' ## Female low 413 370 415 +#' ## high 178 199 185 +#' +#' +#' +#' # change labels for levels of education to 1:3 +#' t4 <- collapse.table(t1, education=1:3) +#' structable(t4) +#' +#' structable(t4) +#' ## age a b c d e f +#' ## sex education +#' ## Male 1 119 101 109 85 99 93 +#' ## 2 94 98 103 108 84 84 +#' ## 3 81 88 96 110 100 92 +#' ## Female 1 107 104 95 86 103 96 +#' ## 2 104 98 94 95 110 106 +#' ## 3 93 85 90 109 99 86 +#' +#' +#' +#' +#' @export collapse.table +collapse.table <- function(table, ...) { + nargs <- length(args <- list(...)) + if (!nargs) + return(table) + if (inherits(table, "ftable")) + table <- as.table(table) + if (inherits(table, "array")) + table <- as.table(table) + if (inherits(table, "table")) { + tvars <- names(dimnames(table)) + table <- as.data.frame.table(table) + freq <- table[,"Freq"] + } + else stop("Argument must be a table, array or ftable object") + + names <- names(args) + for (i in 1:nargs) { + vals <- args[[i]] + nm <- names[[i]] + if(any(nm==tvars)) levels(table[[nm]]) <- vals + else warning(nm, " is not among the table variables.") + } +# term <- paste(tvars, collapse = '+') +# form <- as.formula(paste("freq ~", term)) +# cat("term: ", term, "\n") + xtabs(as.formula(paste("freq ~", paste(tvars, collapse = '+'))), data=table) +} diff --git a/R/expand.dft.R b/R/expand.dft.R index 65ec498..3f91c14 100644 --- a/R/expand.dft.R +++ b/R/expand.dft.R @@ -27,8 +27,12 @@ #' @return A data frame containing the factors in the table and as many #' observations as are represented by the total of the `freq` variable. #' @author Mark Schwarz -#' @seealso \code{\link[utils]{type.convert}}, -#' \code{\link[gnm]{expandCategorical}} +#' @seealso +#' \code{\link[utils]{type.convert}}, +#' \code{\link[gnm]{expandCategorical}}, \code{\link{as_caseform()}}, +#' \code{\link{as_table()}}, \code{\link{as_freqform()}}, +#' \code{\link{as_array()}}, \code{\link{as_matrix()}} +#' #' @references Originally posted on R-Help, Jan 20, 2009, #' http://tolstoy.newcastle.edu.au/R/e6/help/09/01/1873.html #' From 916f4bd80afa65283604426b2f9c0e2f8a50497c Mon Sep 17 00:00:00 2001 From: gklorfine Date: Wed, 1 Apr 2026 23:13:09 -0400 Subject: [PATCH 30/31] Added `a1a-convert-collapse` vignette to `_pkgdown.yml`. --- _pkgdown.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/_pkgdown.yml b/_pkgdown.yml index 885ccbf..448eb74 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -12,6 +12,7 @@ articles: desc: "Vignettes introducing the package" contents: - a1-creating + - a1a-convert-collapse - a2-tests - a3-loglinear - a4-mosaics From 854d68391bef1b2f0f77300b21ba08f169d0d463 Mon Sep 17 00:00:00 2001 From: gklorfine Date: Thu, 2 Apr 2026 13:09:56 -0400 Subject: [PATCH 31/31] Minor documentation fixes. --- R/expand.dft.R | 6 +++--- man/collapse.table.Rd | 7 +++++-- man/expand.dft.Rd | 4 +++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/R/expand.dft.R b/R/expand.dft.R index 3f91c14..90c873e 100644 --- a/R/expand.dft.R +++ b/R/expand.dft.R @@ -29,9 +29,9 @@ #' @author Mark Schwarz #' @seealso #' \code{\link[utils]{type.convert}}, -#' \code{\link[gnm]{expandCategorical}}, \code{\link{as_caseform()}}, -#' \code{\link{as_table()}}, \code{\link{as_freqform()}}, -#' \code{\link{as_array()}}, \code{\link{as_matrix()}} +#' \code{\link[gnm]{expandCategorical}}, \code{\link{as_caseform}}, +#' \code{\link{as_table}}, \code{\link{as_freqform}}, +#' \code{\link{as_array}}, \code{\link{as_matrix}} #' #' @references Originally posted on R-Help, Jan 20, 2009, #' http://tolstoy.newcastle.edu.au/R/e6/help/09/01/1873.html diff --git a/man/collapse.table.Rd b/man/collapse.table.Rd index 684ada5..9c17dc6 100644 --- a/man/collapse.table.Rd +++ b/man/collapse.table.Rd @@ -96,11 +96,14 @@ structable(t4) } \seealso{ -\code{\link{expand.dft}} expands a frequency data frame to case -form. +\code{\link{expand.dft}} and \code{\link{as_caseform}}: expands a frequency +data frame to case form. \code{\link[base]{margin.table}} "collapses" a table in a different way, by summing over table dimensions. + +\code{\link{collapse_levels}} collapses in the same manner as +\code{collapse.table} but also works for frequency and case form data. } \author{ Michael Friendly diff --git a/man/expand.dft.Rd b/man/expand.dft.Rd index dfe13da..6a1a7a7 100644 --- a/man/expand.dft.Rd +++ b/man/expand.dft.Rd @@ -58,7 +58,9 @@ Raton, FL: Chapman & Hall/CRC. \url{http://ddar.datavis.ca}. } \seealso{ \code{\link[utils]{type.convert}}, -\code{\link[gnm]{expandCategorical}} +\code{\link[gnm]{expandCategorical}}, \code{\link{as_caseform}}, +\code{\link{as_table}}, \code{\link{as_freqform}}, +\code{\link{as_array}}, \code{\link{as_matrix}} } \author{ Mark Schwarz