death_other_count: Summarize "Other" causes of deaths

death_other_countR Documentation

Summarize "Other" causes of deaths

Description

Generate death counts for causes of death that are NOT included in the NCHS 113 Causes of death (see ?death_113_count) or the CDC death injury matrix (see ?death_injury_matrix_count).

Needs line-level death data with a properly formatted ICD10 column.

Use the cause argument to specify the cause(s) for which you desire to obtain death counts.

Usage

death_other_count(
  ph.data,
  cause,
  icdcol = "underlying_cod_code",
  kingco = TRUE,
  group_by = NULL,
  ypll_age = NULL,
  death_age_col = NULL
)

Arguments

ph.data

a data.table or data.frame. Must contain death data structured with one person per row and with at least one column of ICD10 death codes.

cause

a character vector specifying the complete or partial keyword for the cause of death of interest. It is not case sensitive and you can specify it in two ways: 1) cause = c('induce', 'overdose') or 2) cause = c("induce|overdose").

The default is cause = NULL.

icdcol

a character vector of length one that specifies the name of the column in ph.data that contains the ICD10 death codes of interest.

The default is underlying_cod_code, which is found in the properly formatted death data obtained using the get_data_death() function.

kingco

a logical vector of length one. It specifies whether you want to limit the analysis to King County.

NOTE this only works with data imported with the get_data_death() function.

The default is kingco = TRUE.

group_by

a character vector of indeterminate length. This is used to specify all the variables by which you want to group (a.k.a. stratify) the results. For example, if you specified group_by = c('chi_sex', 'chi_race_6'), the results would be stratified by each combination of sex and race.

The default is group_by = NULL

ypll_age

an optional numeric vector of length 1. When specified, it should be the age (an integer) used for Years of Potential Life Lost (YPLL) calculations. Valid values are between 1 & 99 (inclusive), though 65 and 85 are the most common. For example, ypll_age = 65 would sum the total number of years that could have been lived had everyone in the data lived to at least 65. Note that this function returns the total number of YPLL. Additional processing is necessary to calculate rates per 100,000.

The default is ypll_age = NULL, which will skip YPLL calculations.

death_age_col

an optional character vector of length one that specifies the name of the column in ph.data with the decedents' age at death in years. It is only needed if ypll_age is specified AND if ph.data lacks columns named date_of_birth and date_of_death that are of class "Date". If the latter two columns exist, the code calculates the age at death for you.

The default is death_age_col = NULL.'

Details

None

Value

Generates a table with two columns: cause.of.death and deaths. If ypll_age is specified, a ypll_## column will also be added to the table. Columns in the group_by argument will also be returned.

Examples

# example 1: death count only
set.seed(98104)
deathdata <- data.table::data.table(
  cod.icd10 = c(rep("D52.1", round(runif(1, 30, 100000), 0)),
                rep("E66.1", round(runif(1, 30, 100000), 0)),
                rep("K85.3", round(runif(1, 30, 100000), 0)),
                rep("X85", round(runif(1, 30, 100000), 0)),
                rep("R78.4", round(runif(1, 30, 100000), 0)),
                rep("Y13.2", round(runif(1, 30, 100000), 0)),
                rep("X42.3", round(runif(1, 30, 100000), 0)),
                rep("X60.7", round(runif(1, 30, 100000), 0)),
                rep("J70.3", round(runif(1, 30, 100000), 0)))
)
eg1 <- death_other_count(ph.data = deathdata,
                       cause = "dose|induce",
                       icdcol = "cod.icd10",
                       kingco = FALSE,
                       ypll_age = NULL,
                       death_age_col = NULL)
head(eg1)

# example 2: with YPLL calculation
deathdata2 <- data.table::copy(deathdata)
set.seed(98104)
deathdata2[, ageofdeath := rads::round2(rnorm(1, mean = 70, sd = 5 ), 0),
           1:nrow(deathdata2)] # synthetic age of death
eg2 <- death_other_count(ph.data = deathdata2,
                       cause = "dose|induce",
                       icdcol = "cod.icd10",
                       kingco = FALSE,
                       ypll_age = 65,
                       death_age_col = "ageofdeath")
head(eg2)


PHSKC-APDE/rads documentation built on April 14, 2025, 10:47 a.m.