This is a (slightly altered) snippet of code that I sent to @ariannaa7 on how to order a summarized result:
# Example from CohortCharactersitcs -------------------------------------------
library(omock)
library(dplyr, warn.conflicts = FALSE)
library(DrugUtilisation)
library(CohortCharacteristics)
cdm <- mockCdmFromDataset(datasetName = "GiBleed", source = "duckdb")
cdm <- generateIngredientCohortSet(cdm = cdm, name = "my_cohort", ingredient = c("warfarin", "acetaminophen"))
result <- cdm$my_cohort |>
PatientProfiles::addSex() |>
summariseCharacteristics(strata = "sex")
# Code to re-order -----------------------------------------------------------
# Copy result and rename CDM to have 2 CDM's
resultMultiDb <- result |>
omopgenerics::bind(
result |>
dplyr::mutate(cdm_name = "my cdm")
)
# CDM name order: GiBleed, my cdm
# Sex strata order: overall, Female, Male
CohortCharacteristics::tableCharacteristics(resultMultiDb)
# Reordering strata to be reversed: Male, Female, Overall
resultReordered <- resultMultiDb |>
# Add `cdm_order` column, set values will be either 1, 2, or 3
dplyr::mutate(
cdm_order = dplyr::case_when(
.data$cdm_name == "my cdm" ~ 1,
.data$cdm_name == "GiBleed" ~ 2,
# Anything that is not specified above
.default = 3
)
) |>
dplyr::mutate(
# Add `sex_order` column, set values will be either 1, 2, or 3
sex_order = dplyr::case_when(
# `strata_name == <type>` is the strata type, usually age, sex w/e
# `strata_level == <group>` are the individual groups within the strata
.data$strata_name == "sex" & .data$strata_level == "Male" ~ 1,
.data$strata_name == "sex" & .data$strata_level == "Female" ~ 2,
.data$strata_name == "sex" & .data$strata_level == "overall" ~ 3,
.default = 4
)
) |>
# Re-order by `cdm_order` and `sex_order` columns
dplyr::arrange(.data$cdm_order, .data$sex_order) |>
# Remove the `cdm_order` and `sex_order` column
dplyr::select(-"cdm_order", -"sex_order")
# CDM order: my cdm, GiBleed
# Strata order: Male, Female, overall
CohortCharacteristics::tableCharacteristics(resultReordered)
This is a (slightly altered) snippet of code that I sent to @ariannaa7 on how to order a summarized result: