
Create a new cohort table from stratifying an existing one
Source:R/stratifyCohorts.R
stratifyCohorts.Rd
stratifyCohorts()
creates new cohorts, splitting an existing cohort based
on specified columns on which to stratify on.
Usage
stratifyCohorts(
cohort,
strata,
cohortId = NULL,
removeStrata = TRUE,
name = tableName(cohort)
)
Arguments
- cohort
A cohort table in a cdm reference.
- strata
A strata list that point to columns in cohort table.
- cohortId
Vector identifying which cohorts to include (cohort_definition_id or cohort_name). Cohorts not included will be removed from the cohort set.
- removeStrata
Whether to remove strata columns from final cohort table.
- name
Name of the new cohort table created in the cdm object.
Examples
# \donttest{
library(CohortConstructor)
library(PatientProfiles)
cdm <- mockCohortConstructor()
cdm$my_cohort <- cdm$cohort1 |>
addAge(ageGroup = list("child" = c(0, 17), "adult" = c(18, Inf))) |>
addSex(name = "my_cohort") |>
stratifyCohorts(
strata = list("sex", c("sex", "age_group")), name = "my_cohort"
)
cdm$my_cohort
#> # A tibble: 116 × 5
#> cohort_definition_id subject_id cohort_start_date cohort_end_date age
#> * <int> <int> <date> <date> <int>
#> 1 1 2 1981-04-10 1982-05-11 23
#> 2 1 4 1991-05-13 1991-10-23 5
#> 3 1 5 2006-08-30 2007-01-16 47
#> 4 2 6 1993-06-15 2013-12-14 12
#> 5 1 7 2000-12-01 2002-12-09 9
#> 6 1 8 1997-06-01 1997-06-17 44
#> 7 2 10 1985-01-02 1993-03-22 11
#> 8 1 11 2012-09-18 2013-03-03 18
#> 9 1 12 1986-11-29 1986-12-05 32
#> 10 2 15 2016-12-15 2017-04-01 31
#> # ℹ 106 more rows
settings(cdm$my_cohort)
#> # A tibble: 6 × 8
#> cohort_definition_id cohort_name target_cohort_id target_cohort_name
#> <int> <chr> <int> <chr>
#> 1 1 cohort_1_female 1 cohort_1
#> 2 2 cohort_1_male 1 cohort_1
#> 3 3 cohort_1_female_adult 1 cohort_1
#> 4 4 cohort_1_female_child 1 cohort_1
#> 5 5 cohort_1_male_adult 1 cohort_1
#> 6 6 cohort_1_male_child 1 cohort_1
#> # ℹ 4 more variables: target_cohort_table_name <chr>, strata_columns <chr>,
#> # sex <chr>, age_group <chr>
attrition(cdm$my_cohort)
#> # A tibble: 16 × 7
#> cohort_definition_id number_records number_subjects reason_id reason
#> <int> <int> <int> <int> <chr>
#> 1 1 58 58 1 Initial qualif…
#> 2 1 23 23 2 filter strata:…
#> 3 2 58 58 1 Initial qualif…
#> 4 2 35 35 2 filter strata:…
#> 5 3 58 58 1 Initial qualif…
#> 6 3 23 23 2 filter strata:…
#> 7 3 13 13 3 filter strata:…
#> 8 4 58 58 1 Initial qualif…
#> 9 4 23 23 2 filter strata:…
#> 10 4 10 10 3 filter strata:…
#> 11 5 58 58 1 Initial qualif…
#> 12 5 35 35 2 filter strata:…
#> 13 5 24 24 3 filter strata:…
#> 14 6 58 58 1 Initial qualif…
#> 15 6 35 35 2 filter strata:…
#> 16 6 11 11 3 filter strata:…
#> # ℹ 2 more variables: excluded_records <int>, excluded_subjects <int>
# }