Prepare a classcodes
object by specifying the regular expressions
to use for classification.
Usage
set_classcodes(
cc,
classified = NULL,
regex = NULL,
start = TRUE,
stop = FALSE,
tech_names = NULL
)
Arguments
- cc
classcodes
object (or name of a default object fromall_classcodes()
).- classified
object that classcodes could be inherited from
- regex
name of column with regular expressions to use for classification.
NULL
(default) usesattr(obj, "regexpr")[1]
.- start, stop
should codes start/end with the specified regular expressions? If
TRUE
, column "regex" is prefixed/suffixed by^/$
.- tech_names
should technical column names be used? If
FALSE
, colnames are taken directly from group names ofcc
, ifTRUE
, these are changed to more technical names avoiding special characters and are prefixed by the name of the classification scheme.NULL
(by default) preserves previous names ifcc
is inherited fromclassified
(fall backs toFALSE
if not already set).
Value
classcodes
object.
See also
Other classcodes:
all_classcodes()
,
as.data.frame.classified()
,
classcodes
,
codebook()
,
print.classcodes()
,
print.classified()
,
summary.classcodes()
,
visualize.classcodes()
Examples
# Prepare a classcodes object for the Charlson comorbidity classification
# based on the default regular expressions
set_classcodes(charlson) # by object
#> Classification based on: icd10
#>
#> Classcodes object
#>
#> Regular expressions:
#> icd10
#> Indices:
#> charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated
#>
#> # A tibble: 17 × 9
#> group descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 myocardial infarc… Acute … ^(I2… 1 1 1 1 1 0
#> 2 congestive heart … Heart … ^(I(… 1 1 1 4 1 2
#> 3 peripheral vascul… Periph… ^(I7… 1 1 1 2 1 0
#> 4 cerebrovascular d… Cerebr… ^(G4… 1 1 1 1 1 0
#> 5 dementia Senile… ^(F0… 1 1 1 0 1 2
#> 6 chronic pulmonary… Chroni… ^((I… 1 1 1 0 1 1
#> 7 rheumatic disease System… ^(M(… 1 1 1 0 1 1
#> 8 peptic ulcer dise… Gastri… ^(K2… 1 1 1 0 1 0
#> 9 mild liver disease Alcoho… ^(B1… 1 1 1 0 1 2
#> 10 diabetes without … Diabet… ^(E1… 1 1 1 0 1 0
#> 11 hemiplegia or par… Parapl… ^(G(… 2 1 1 0 2 2
#> 12 renal disease Chroni… ^(I1… 2 1 1 3 2 1
#> 13 diabetes complica… Diabet… ^(E1… 2 1 1 0 2 1
#> 14 malignancy Malign… ^(C(… 2 1 1 0 2 2
#> 15 moderate or sever… Hepati… ^(I(… 3 1 1 0 3 4
#> 16 metastatic solid … Second… ^(C(… 6 1 1 0 6 6
#> 17 AIDS/HIV HIV in… ^(B2… 6 1 1 0 6 4
#> # … with abbreviated variable names ¹description, ²charlson, ³deyo_ramano,
#> # ⁴quan_original, ⁵quan_updated
set_classcodes("charlson") # by name
#> Classification based on: icd10
#>
#> Classcodes object
#>
#> Regular expressions:
#> icd10
#> Indices:
#> charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated
#>
#> # A tibble: 17 × 9
#> group descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 myocardial infarc… Acute … ^(I2… 1 1 1 1 1 0
#> 2 congestive heart … Heart … ^(I(… 1 1 1 4 1 2
#> 3 peripheral vascul… Periph… ^(I7… 1 1 1 2 1 0
#> 4 cerebrovascular d… Cerebr… ^(G4… 1 1 1 1 1 0
#> 5 dementia Senile… ^(F0… 1 1 1 0 1 2
#> 6 chronic pulmonary… Chroni… ^((I… 1 1 1 0 1 1
#> 7 rheumatic disease System… ^(M(… 1 1 1 0 1 1
#> 8 peptic ulcer dise… Gastri… ^(K2… 1 1 1 0 1 0
#> 9 mild liver disease Alcoho… ^(B1… 1 1 1 0 1 2
#> 10 diabetes without … Diabet… ^(E1… 1 1 1 0 1 0
#> 11 hemiplegia or par… Parapl… ^(G(… 2 1 1 0 2 2
#> 12 renal disease Chroni… ^(I1… 2 1 1 3 2 1
#> 13 diabetes complica… Diabet… ^(E1… 2 1 1 0 2 1
#> 14 malignancy Malign… ^(C(… 2 1 1 0 2 2
#> 15 moderate or sever… Hepati… ^(I(… 3 1 1 0 3 4
#> 16 metastatic solid … Second… ^(C(… 6 1 1 0 6 6
#> 17 AIDS/HIV HIV in… ^(B2… 6 1 1 0 6 4
#> # … with abbreviated variable names ¹description, ²charlson, ³deyo_ramano,
#> # ⁴quan_original, ⁵quan_updated
# Same as above but based on regular expressions for ICD-8 (see `?charlson`)
set_classcodes(charlson, regex = "icd8_brusselaers")
#>
#> Classcodes object
#>
#> Regular expressions:
#> icd8_brusselaers
#> Indices:
#> charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated
#>
#> # A tibble: 13 × 9
#> group descr…¹ icd8_…² charl…³ deyo_…⁴ dhoore ghali quan_…⁵ quan_…⁶
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 myocardial infa… Acute … ^(41[0… 1 1 1 1 1 0
#> 2 congestive hear… Heart … ^(4270… 1 1 1 4 1 2
#> 3 peripheral vasc… Periph… ^(44[0… 1 1 1 2 1 0
#> 4 cerebrovascular… Cerebr… ^(43[0… 1 1 1 1 1 0
#> 5 dementia Senile… ^(290[… 1 1 1 0 1 2
#> 6 chronic pulmona… Chroni… ^(49[0… 1 1 1 0 1 1
#> 7 rheumatic disea… System… ^(7(1[… 1 1 1 0 1 1
#> 8 hemiplegia or p… Parapl… ^(344) 2 1 1 0 2 2
#> 9 renal disease Chroni… ^(40[3… 2 1 1 3 2 1
#> 10 diabetes compli… Diabet… ^(250) 2 1 1 0 2 1
#> 11 malignancy Malign… ^(1([4… 2 1 1 0 2 2
#> 12 moderate or sev… Hepati… ^(070|… 3 1 1 0 3 4
#> 13 metastatic soli… Second… ^(19[6… 6 1 1 0 6 6
#> # … with abbreviated variable names ¹description, ²icd8_brusselaers, ³charlson,
#> # ⁴deyo_ramano, ⁵quan_original, ⁶quan_updated
# Only recognize codes if no other characters are found after the relevant codes
# Hence if the code vector stops with the code
set_classcodes(charlson, stop = TRUE)
#> Classification based on: icd10
#>
#> Classcodes object
#>
#> Regular expressions:
#> icd10
#> Indices:
#> charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated
#>
#> # A tibble: 17 × 9
#> group descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 myocardial infarc… Acute … ^(I2… 1 1 1 1 1 0
#> 2 congestive heart … Heart … ^(I(… 1 1 1 4 1 2
#> 3 peripheral vascul… Periph… ^(I7… 1 1 1 2 1 0
#> 4 cerebrovascular d… Cerebr… ^(G4… 1 1 1 1 1 0
#> 5 dementia Senile… ^(F0… 1 1 1 0 1 2
#> 6 chronic pulmonary… Chroni… ^((I… 1 1 1 0 1 1
#> 7 rheumatic disease System… ^(M(… 1 1 1 0 1 1
#> 8 peptic ulcer dise… Gastri… ^(K2… 1 1 1 0 1 0
#> 9 mild liver disease Alcoho… ^(B1… 1 1 1 0 1 2
#> 10 diabetes without … Diabet… ^(E1… 1 1 1 0 1 0
#> 11 hemiplegia or par… Parapl… ^(G(… 2 1 1 0 2 2
#> 12 renal disease Chroni… ^(I1… 2 1 1 3 2 1
#> 13 diabetes complica… Diabet… ^(E1… 2 1 1 0 2 1
#> 14 malignancy Malign… ^(C(… 2 1 1 0 2 2
#> 15 moderate or sever… Hepati… ^(I(… 3 1 1 0 3 4
#> 16 metastatic solid … Second… ^(C(… 6 1 1 0 6 6
#> 17 AIDS/HIV HIV in… ^(B2… 6 1 1 0 6 4
#> # … with abbreviated variable names ¹description, ²charlson, ³deyo_ramano,
#> # ⁴quan_original, ⁵quan_updated
# Accept code vectors with strings which do not necessarily start with the code.
# This is useful if the code might appear in the middle of a longer character
# string or if a common prefix is used for all codes.
set_classcodes(charlson, start = FALSE)
#> Classification based on: icd10
#>
#> Classcodes object
#>
#> Regular expressions:
#> icd10
#> Indices:
#> charlson, deyo_ramano, dhoore, ghali, quan_original, quan_updated
#>
#> # A tibble: 17 × 9
#> group descr…¹ icd10 charl…² deyo_…³ dhoore ghali quan_…⁴ quan_…⁵
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 myocardial infarc… Acute … I2([… 1 1 1 1 1 0
#> 2 congestive heart … Heart … I(09… 1 1 1 4 1 2
#> 3 peripheral vascul… Periph… I7([… 1 1 1 2 1 0
#> 4 cerebrovascular d… Cerebr… G4[5… 1 1 1 1 1 0
#> 5 dementia Senile… F0([… 1 1 1 0 1 2
#> 6 chronic pulmonary… Chroni… (I27… 1 1 1 0 1 1
#> 7 rheumatic disease System… M(0[… 1 1 1 0 1 1
#> 8 peptic ulcer dise… Gastri… K2[5… 1 1 1 0 1 0
#> 9 mild liver disease Alcoho… B18|… 1 1 1 0 1 2
#> 10 diabetes without … Diabet… E1[0… 1 1 1 0 1 0
#> 11 hemiplegia or par… Parapl… G(04… 2 1 1 0 2 2
#> 12 renal disease Chroni… I1(2… 2 1 1 3 2 1
#> 13 diabetes complica… Diabet… E1[0… 2 1 1 0 2 1
#> 14 malignancy Malign… C([0… 2 1 1 0 2 2
#> 15 moderate or sever… Hepati… I(8(… 3 1 1 0 3 4
#> 16 metastatic solid … Second… C(7[… 6 1 1 0 6 6
#> 17 AIDS/HIV HIV in… B2[0… 6 1 1 0 6 4
#> # … with abbreviated variable names ¹description, ²charlson, ³deyo_ramano,
#> # ⁴quan_original, ⁵quan_updated
# Use technical names to clearly describe the origin of each group.
# Note that the `cc` argument must be specified by a character string
# since this name is used as part of the column names
x <- set_classcodes("charlson", tech_names = TRUE)
#> Classification based on: icd10
x$group
#> [1] "charlson_icd10_myocardial_infarction"
#> [2] "charlson_icd10_congestive_heart_failure"
#> [3] "charlson_icd10_peripheral_vascular_disease"
#> [4] "charlson_icd10_cerebrovascular_disease"
#> [5] "charlson_icd10_dementia"
#> [6] "charlson_icd10_chronic_pulmonary_disease"
#> [7] "charlson_icd10_rheumatic_disease"
#> [8] "charlson_icd10_peptic_ulcer_disease"
#> [9] "charlson_icd10_mild_liver_disease"
#> [10] "charlson_icd10_diabetes_without_complication"
#> [11] "charlson_icd10_hemiplegia_or_paraplegia"
#> [12] "charlson_icd10_renal_disease"
#> [13] "charlson_icd10_diabetes_complication"
#> [14] "charlson_icd10_malignancy"
#> [15] "charlson_icd10_moderate_or_severe_liver_disease"
#> [16] "charlson_icd10_metastatic_solid_tumor"
#> [17] "charlson_icd10_aids_hiv"