16  Medidas de frecuencia

Autores/as

Fernandez Camacho, Bryan

Guillermo Roman, Martina

Carrasco Escobar, Gabriel

16.1 Paquetes y data

Los paquetes que se utilizarán son:

En este capítulo utilizaremos la base de datos del estudio Framingham, el cual corresponde a una investigación prospectiva a largo plazo sobre las causas de las enfermedades cardiovasculares en una población de voluntarios sanos de Framingham, Massachusetts. Para mayor información sobre la documentación de esta base de datos, dar clic en este enlace.

framingham <- read_csv("data/framingham_freq_final.csv")

16.2 Medidas de morbilidad

En esta sección, se revisarán los conceptos de prevalencia, odds e incidencia de una enfermedad y sus aplicaciones con R y Rstudio.

16.2.1 Prevalencia

Varias definiciones pueden referirse a “prevalencia” como el número de casos de una enfermedad o característica específica que se da en una población en un periodo determinado.

\[ \mathrm{Prevalencia} = \frac{Nro \ de \ casos \ en \ la \ población \ en \ un \ momento \ determinado}{Nro \ total \ de \ personas \ en \ la \ población \ en \ ese \ periodo \ especificado} * 100 \]

El siguiente gráfico muestra la distribución de 100 pacientes del estudio de Framingham en relación con su condición de angina de pecho.

La distribución revela que de los 100 pacientes estudiados, 5 tienen angina de pecho y 95 no cuentan con dicha condición. Estos datos son suficientes para calcular la prevalencia de angina de pecho en la muestra.

Matemáticamente una prevalencia es una proporción, por lo tanto, el numerador está incluido dentro del denominador. En este ejemplo, el numerador será el número de casos de la enfermedad y el denonimador la población total estudiada.

cases_angina <- 5

population <- 100

Los objetos cases_angina y population ya pueden ser utilizados para calcular la prevalencia de angina de pecho.

prevalence_angina <- cases_angina / population

prevalence_angina
[1] 0.05

Luego del cálculo, se concluye que, en la población de estudio, la prevalencia de angina de pecho es del 5%.

16.2.2 Tipos de prevalencia

En la literatura existen dos tipos de prevalencia: Prevalencia puntual y de periodo.

La Prevalencia puntual es el porcentaje de una población que está enferma en un momento determinado en el tiempo, mientras que la prevalencia de periodo es el porcentaje de una población que padece una determinada enfermedad o afección a lo largo de un periodo de tiempo específico.

El siguiente gráfico muestra el seguimiento hecho a 5 sujetos durante 25 años para evaluar si tienen o desarrollan cáncer de pulmón a lo largo del estudio.

Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.

Cuando se estima la prevalencia puntual, el investigador desconoce a aquellos sujetos que son no susceptibles, por lo que, para el cálculo se incluyen a todos los sujetos que presenten la enfermedad para ese punto en el tiempo.

Ahora calcularemos la prevalencia puntual para el año 5 del seguimiento.

cases_cancer <- 2

population_cancer <- 5

point_prevalence <- (cases_cancer/population_cancer) * 100

point_prevalence
[1] 40

Interpretación: En la población de estudio, la prevalencia de cáncer de pulmón para el año 10 fue del 40%.

Al calcular la prevalencia de periodo, además de considerar los casos prevalentes, se deben incluir también a los casos nuevos que hayan presentado la enfermedad durante el periodo que se desea analizar. En el ejemplo anterior, podemos identificar a los casos prevalentes (sujeto 5) y a los casos incidentes (Sujeto 3 y Sujeto 1) que han sido incluidos para el cálculo de la prevalencia para el periodo comprendido entre el año 10 y 15.

cases_cancer_10_15 <- 4
  
population_10_15 <- 5

period_prevalence <- (cases_cancer_10_15 / population_10_15) * 100

period_prevalence
[1] 80

Interpretación: En la población de estudio, la prevalencia de cáncer de pulmón para para el periodo comprendido entre los años 10 y 15 fue del 80%.

16.2.2.1 Prevalencia puntual

En esta sección se calculará la prevalencia puntual de angina de pecho PREVAP en todos los participantes a los 0 días desde el enrolamiento, es decir al basal.

En esta sección se mostrarán dos maneras de calcular la prevalencia.

  • Estimación de la prevalencia con tidyverse()
  • Estimación de la prevalencia con freq_table()

Estimación de la prevalencia con tidyverse

Las variables de importancia para el análisis de prevalencias e incidencias serán las siguientes,

  • Angina Prevalente: PREVAP
  • Sexo: SEX
  • Stroke Prevalente: PREVSTRK
  • Enfermedad Cerebro Vascular (ECV): STROKE
  • Tiempo hasta desarrollar ECV: TIMESTRK
  • Tiempo: TIME
  • Periodo: PERIOD
framingham_clean <- framingham %>%
  select(RANDID, SEX, PREVAP, TIME, PERIOD, PREVSTRK, STROKE, TIMESTRK) %>% 
  drop_na()

El código mostrado líneas abajo se utilizará para calcular la prevalencia puntual de angina al inicio del estudio. Este será un valor estimado para la población en general.

# Prevalencia puntual - Sin estratificación

  angina_0 <- framingham_clean %>%
    filter(TIME == 0) %>%
    group_by(PREVAP) %>%
    summarise(n = n())
  
  prev_angina_total <- angina_0 %>% 
    mutate("prevalence" = n/sum(n)*100)
  
  prev_angina_total
# A tibble: 2 × 3
  PREVAP     n prevalence
  <chr>  <int>      <dbl>
1 No      4287      96.7 
2 Sí       147       3.32

Interpretación: En la población de Framingham, la prevalencia basal de angina de pecho es de 3.32%.

A continuación, se mostrará el cálculo de la prevalencia de angina al inicio del estudio, pero se estratificará por sexo.

# Prevalencia puntual estratificada

angina_0_sex <- framingham_clean %>%
  filter(TIME == 0) %>% 
  group_by(SEX, PREVAP) %>% 
  summarise(n= n())
`summarise()` has grouped output by 'SEX'. You can override using the `.groups`
argument.
prev_angina_sex <- angina_0_sex %>% 
  group_by(SEX) %>%
  mutate("prevalence" = n/sum(n)*100)

prev_angina_sex
# A tibble: 4 × 4
# Groups:   SEX [2]
  SEX    PREVAP     n prevalence
  <chr>  <chr>  <int>      <dbl>
1 female No      2435      97.8 
2 female Sí        55       2.21
3 male   No      1852      95.3 
4 male   Sí        92       4.73

Al momento de estratificar, podemos observar que la prevalencia de angina en hombres es mayor a la prevalencia de angina en mujeres, 4.73% vs 2.21%, respectivamente.

Nota: Debemos tener en cuenta que las tablas anteriores muestran solo los estimados de las prevalencias sin sus respectivos intervalos de confianza. Las dos opciones siguientes para el cálculo de la prevalencia sí proporcionan intervalos de confianza.

Estimación de la prevalencia con el paquete freqtables

En esta sección se utilizará la función freq_table() del paquete freqtables para calcular la prevalencia puntual de angina de pecho PREVAP al basal (TIME == 0) y sus respectivos intervalos de confianza.

Para ello, utilizaremos la base de datos inicial de framingham y sobre ella haremos los cálculos.

framingham_clean %>% 
  filter(TIME == 0) %>% 
  freq_table(PREVAP)
# A tibble: 2 × 9
  var    cat       n n_total percent    se t_crit   lcl   ucl
  <chr>  <chr> <int>   <int>   <dbl> <dbl>  <dbl> <dbl> <dbl>
1 PREVAP No     4287    4434   96.7  0.269   1.96 96.1  97.2 
2 PREVAP Sí      147    4434    3.32 0.269   1.96  2.83  3.88

Para estratificar las prevalencias, solo se debe agregar a la función freq_table() la variable por la que se desea hacer la estratificación.

framingham_clean %>% 
  filter(TIME == 0) %>% 
  freq_table(SEX, PREVAP)
# A tibble: 4 × 17
  row_var row_cat col_var col_cat     n n_row n_total percent_total se_total
  <chr>   <chr>   <chr>   <chr>   <int> <int>   <int>         <dbl>    <dbl>
1 SEX     female  PREVAP  No       2435  2490    4434         54.9     0.747
2 SEX     female  PREVAP  Sí         55  2490    4434          1.24    0.166
3 SEX     male    PREVAP  No       1852  1944    4434         41.8     0.741
4 SEX     male    PREVAP  Sí         92  1944    4434          2.07    0.214
# ℹ 8 more variables: t_crit_total <dbl>, lcl_total <dbl>, ucl_total <dbl>,
#   percent_row <dbl>, se_row <dbl>, t_crit_row <dbl>, lcl_row <dbl>,
#   ucl_row <dbl>

Al revisar la columna percent_total, aparentemente las prevalencias han sido calculadas sin la estratificación por sexo. Sin embargo, el cálculo estratificado se encuentra almacenado en la columna percent_row, y los intervalos de confianza en las variables lci_row y uci_row.

16.2.2.2 Prevalencia de periodo

En esta sección solo se mostrará el cálculo de la prevalencia de periodo con la función freq_table(). Para este ejercicio solo nos centraremos en los casos de stroke en el periodo 3 (PERIOD == 3), el cual comprende un periodo de examinación de 8 años.

framingham_clean %>% 
  filter(PERIOD == 3) %>%  
  freq_table(STROKE)
# A tibble: 2 × 9
  var    cat                  n n_total percent    se t_crit   lcl   ucl
  <chr>  <chr>            <int>   <int>   <dbl> <dbl>  <dbl> <dbl> <dbl>
1 STROKE Sin Stroke        2980    3263   91.3  0.493   1.96 90.3  92.2 
2 STROKE Stroke Incidente   283    3263    8.67 0.493   1.96  7.75  9.69

Interpretación: La prevalencia de stroke durante el periodo 3 de la cohorte de Framingham fue de 8.67 (IC 95%: 7.75 - 9.69) casos por cada 100 habitantes .

16.2.3 Odds

Los odds son una medida de frecuencia de eventos. Matemáticamente representan una razón, es decir, los eventos en el numerador no están incluidos en el denominador.

Un ejemplo sencillo:

En una temporada del hipódromo, un caballo tuvo 15 victorias y 5 derrotas.

victorias <- 15
derrotas <- 5

La proporción (ej. probabilidad) de victorias es:

p <- victorias / (victorias + derrotas)

p
[1] 0.75

El caballo ganó el 75% de carreras. En otras palabras, la probabilidad de que este caballo gane es del 75%.

Los odds (ej. chances) de victorias son:

odds <- victorias / derrotas

odds
[1] 3

El caballo tiene unos odds de ganar de 3 a 1.

16.2.3.1 Relación con probabilidad

Los odds pueden expresarse matemáticamente en función de la probabilidad de la siguiente forma Ecuación 16.1:

\[ {Odds} = \frac{Probabilidad}{1 - Probabilidad} \tag{16.1}\]

Podemos comprobarlo con los datos de nuestro ejemplo inicial.

p / (1 - p)
[1] 3
odds == p / (1 - p)
[1] TRUE

De forma complementaria, las probabilidades pueden expresarse matemáticamente en función de los odds de la siguiente forma Ecuación 16.2:

\[ {Probabilidad} = \frac{Odds}{1 + Odds} \tag{16.2}\]

También podemos comprobarlo con los datos de nuestro ejemplo inicial.

odds / (1 + odds)
[1] 0.75
p == odds / (1 + odds)
[1] TRUE

16.2.3.2 Sesgo de estimación de los odds

Debido a su formula de cálculo Ecuación 16.1, los odds se aproximan mejor a las probabilidades cuando el evento es poco frecuente.

Un ejemplo sencillo:

En una temporada del hipódromo, un caballo tuvo 2 victorias y 100 derrotas.

victorias <- 2
derrotas <- 100

La proporción (ej. probabilidad) de victorias es:

p <- victorias / (victorias + derrotas)

p
[1] 0.01960784

Y los odds (ej. chances) de victorias es:

odds <- victorias / derrotas

odds
[1] 0.02

En este nuevo ejemplo la probabilidad del evento (victorias) es bajo (0.0196) y los odds son cercanos (0.02).

Podemos simular diferentes frecuencias (ej. probabilidades de un evento), calcular los odds en base a la ecuación Ecuación 16.1 y graficarlo para mostrar el sesgo de estimación de los odds conforme aumenta la frecuencia del evento.

sim1 <- tibble(p = seq(0.01, 0.99, by = 0.01)) %>%
  mutate(odds = p / (1-p))

Podemos inspeccionar el gráfico cuando las frecuencias son menores a 50%

sim1 %>%
  filter(p < 0.5) %>%
  ggplot(aes(x = p, y = odds)) +
  geom_line(col = "red") + 
  geom_abline(intercept = 0, slope = 1) +
  theme_bw()

No hay una definición estricta, pero se sugiere que los odds se aproximan de forma estable a la probabilidad cuando la frecuencia del evento es menor al 10%.

Ahora veremos toda la distribución de frecuencias.

sim1 %>%
  ggplot(aes(x = p, y = odds)) +
  geom_line(col = "red") + 
  geom_abline(intercept = 0, slope = 1) +
  theme_bw()

16.2.4 Incidencia

Cuando se observa a las personas a lo largo del tiempo, la incidencia mide la frecuencia con la que los individuos susceptibles se convierten en casos de enfermedad. Cuando cambia la susceptibilidad de una persona a la enfermedad, puede surgir un caso incidente. La cantidad de casos incidentes es el número total de tales ocurrencias en una población a lo largo de un tiempo de seguimiento predeterminado.

16.2.4.1 Incidencia acumulada (IA) o proporción de incidencia (PI)

Incidencia acumulada o proporción de incidencia: es el porcentaje de personas inicialmente vulnerables de una población que desarrollan nuevos casos en el transcurso de un tiempo de seguimiento determinado.

\[ \mathrm{Incidencia \ acumulada} = \frac{Nro \ de \ casos \ nuevos}{Nro \ de \ personas \ en \ riesgo \ durante \ el \ seguimiento}*100 \]

En este ejercicio, estimaremos la incidencia acumulada de hipertensión (HYPERTEN) para el periodo 3 (PERIOD==3) del estudio. Recordemos que el cálculo de la incidencia solo toma en cuenta a casos nuevos en el numerador, y solo a las personas susceptibles a volverse casos en el denominador. Por ello, primero retiraremos a todos los casos prevalentes de hipertensión (PREVHYP), y posteriormente filtraremos el periodo de interés.

free_prev_hyper <- framingham %>% 
  filter(PREVHYP == 0,
         PERIOD == 3) %>%
  drop_na(HYPERTEN)

Una vez que se haya retirado a todos los individuos que tenían hipertensión al inicio del estudio y tengamos nuestro periodo de interés, procederemos a realizar la estimación de la incidencia de hipertensión.

El cálculo de la incidencia solo con tidyverse seguirá el siguiente flujo de código,

free_prev_hyper %>% 
  group_by(HYPERTEN) %>% 
  summarise(n = n()) %>% 
  mutate(incidence = n/sum(n)*100)
# A tibble: 2 × 3
  HYPERTEN                   n incidence
  <chr>                  <int>     <dbl>
1 Hipertension Incidente   501      38.2
2 Sin Hipertension         809      61.8

Como la incidencia acumulada es matemáticamente una proporción el método de cálculo es el mismo que el de la prevalencia.

Ahora, realizaremos el cálculo usando el paquete freq_table().

free_prev_hyper %>% 
  freq_table(HYPERTEN)
# A tibble: 2 × 9
  var      cat                        n n_total percent    se t_crit   lcl   ucl
  <chr>    <chr>                  <int>   <int>   <dbl> <dbl>  <dbl> <dbl> <dbl>
1 HYPERTEN Hipertension Incidente   501    1310    38.2  1.34   1.96  35.6  40.9
2 HYPERTEN Sin Hipertension         809    1310    61.8  1.34   1.96  59.1  64.4

Durante el periodo 3 del estudio de Framingham, se observó una incidencia acumulada del 38.24% (IC 95%: 35.65 - 40.91). Es decir, por cada 100 personas, hubieron aproximadamente 38 casos nuevos de hipertensión.

16.2.4.2 Tasa de incidencia (TI) o densidad de incidencia (DI)

La tasa de incidencia expresa la ocurrencia de casos nuevos de una determinada enfermedad o evento entre el total de personas-tiempo en seguimiento.

El denominador de la tasa de incidencia se calcula sumando los periodos de tiempo sin enfermedad de cada uno de los participantes del grupo durante el tiempo en que permanecen en el estudio. Este valor se suele expresar en años, aunque también puede ser en meses, semanas o días, y se denomina tiempo en riesgo o tiempo en seguimiento.

\[ \mathrm{Tasa \ de \ incidencia} = \frac{Nro \ de \ casos \ nuevos}{Total\ de \ personas -tiempo\ en \ seguimiento} \]

Evaluaremos la densidad de incidencia de stroke en el periodo 3 del estudio. Para ello, seguiremos utilizando el objeto framingham_clean creado al inicio del capítulo, y lo asignaremos al objeto incidence_strk. Se removerá a todos los pacientes que hayan tenido STROKE al inicio del estudio, y solo nos centraremos en el periodo 3.

incidence_strk <- framingham_clean %>% 
  filter(PERIOD == 3,
         PREVSTRK == "Sin Stroke")

El objeto incidence_strk ahora solo contiene a las personas libres de STROKE al basal. Ahora se realizará el cálculo de los casos y los tiempos totales aportados los pacientes al estudio.

incidence_strk_cases <- incidence_strk %>% 
  group_by(STROKE) %>% 
  summarise(cases = n(),
            follow_up_time = sum(TIMESTRK))

incidence_strk_cases
# A tibble: 2 × 3
  STROKE           cases follow_up_time
  <chr>            <int>          <dbl>
1 Sin Stroke        2980       24855611
2 Stroke Incidente   214        1421969

Las variables cases y follow_up_time contienen la información necesaria para el cálculo de la densidad de incidencia.

inc_dens <- incidence_strk_cases %>% 
  mutate(incidence_density = cases/follow_up_time*100000)

inc_dens
# A tibble: 2 × 4
  STROKE           cases follow_up_time incidence_density
  <chr>            <int>          <dbl>             <dbl>
1 Sin Stroke        2980       24855611              12.0
2 Stroke Incidente   214        1421969              15.0

En la población de estudio, la tasa de incidencia de stroke es de 15 casos por cada 100,000 personas-días.

16.2.5 Incidencia vs prevalencia vs odds

En el presente gráfico, se observan las medidas de frecuencia asociadas a la angina de pecho. Al analizar la evolución temporal, se destaca un aumento progresivo en la prevalencia de la enfermedad, observada de manera mensual. En contraste, la incidencia y el odds de angina se mantienen relativamente constantes a lo largo del periodo de estudio.

Rows: 11631 Columns: 42
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
dbl  (39): RANDID, SEX, AGE, CIGPDAY, BMI, DIABETES, PREVHYP, PERIOD, HYPERT...
date  (3): START_DATE, VISIT_DATE, EVENT_CENSOR_DATE

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

16.3 Medidas de mortalidad

Normalmente, para notificar la mortalidad se utiliza el número de defunciones en una población de un tamaño determinado.

16.3.1 Tasa de mortalidad

La tasa de mortalidad se refiere a la cantidad de muertes en una población durante un período de tiempo determinado, generalmente expresada como un número de muertes por cada mil o cada cien mil personas en la población en riesgo.

\[ \mathrm{Tasa \ de \ mortalidad \ general} = \frac{Nro \ de \ muertes \ en \ el \ periodo \ ¨t¨}{Población\ total \ promedio \ en \ el \ mismo \ periodo} * 10^n \]

Utilizaremos el objeto framingham, seleccionaremos nuestras variables de interés para toda la sección de mortalidad y eliminaremos los datos faltantes.

Variables a utilizar:

  • Muerte: DEATH
  • Edad categórica: AGE_CAT
  • Periodo: PERIOD
  • Paciente con Infarto: ANYCHD
  • Muerte por infarto: MI_FCHD

Para el presente ejercicio, se calculará la tasa de mortalidad general en el estudio Framingham para el periodo 3, PERIOD == 3.

mortality <- framingham %>% 
  select(DEATH, AGE_CAT, PERIOD, ANYCHD, MI_FCHD) %>%
  filter(PERIOD == 3) %>%
  drop_na()

Ahora se calcularán los conteos de los conteos de muertes y no muertes en la población de estudio para el periodo 3.

mortality_pop <- mortality %>%
  group_by(DEATH) %>% 
  summarise(n = n())

mortality_pop
# A tibble: 2 × 2
  DEATH     n
  <chr> <int>
1 Alive  2488
2 Dead    775

Finalmente, realizaremos el cálculo de la mortalidad,

mortality_pop %>% 
  mutate(mortality = n/sum(n)*100)
# A tibble: 2 × 3
  DEATH     n mortality
  <chr> <int>     <dbl>
1 Alive  2488      76.2
2 Dead    775      23.8

Ahora se realizará el cálculo con la función freq_table() del paquete freqtables.

mortality %>% 
  freq_table(DEATH)
# A tibble: 2 × 9
  var   cat       n n_total percent    se t_crit   lcl   ucl
  <chr> <chr> <int>   <int>   <dbl> <dbl>  <dbl> <dbl> <dbl>
1 DEATH Alive  2488    3263    76.2 0.745   1.96  74.8  77.7
2 DEATH Dead    775    3263    23.8 0.745   1.96  22.3  25.2

Durante el periodo 3 del estudio de Framingham, se observó una tasa de mortalidad del 23.75%. Es decir, por cada 100 personas, hubo aproximadamente 24 (IC 95%: 22.32 - 25.24) muertos.

16.3.2 Tasa de mortalidad específica

La tasa de mortalidad específica se refiere a la cantidad de muertes en una subpoblación específica; por ejemplo, las muertes por una enfermedad específica o en un grupo de edad específico durante un periodo de tiempo determinado.

\[ \mathrm{Tasa \ de \ mortalidad \ específica} = \frac{Nro \ de \ muertes \ en \ un \ grupo \ específico \ durante \ un \ periodo \ dado}{Población \ total \ del \ mismo \ grupo} * 10^n \]

Para este ejercicio, calcularemos la tasa de mortalidad específica por grupos de edad.

#Categorizing age

mortality_age <- mortality %>% 
  group_by(AGE_CAT, DEATH) %>% 
  summarise(n = n())
`summarise()` has grouped output by 'AGE_CAT'. You can override using the
`.groups` argument.
mortality_age
# A tibble: 4 × 3
# Groups:   AGE_CAT [2]
  AGE_CAT            DEATH     n
  <chr>              <chr> <int>
1 mayor o igual a 60 Alive  1080
2 mayor o igual a 60 Dead    593
3 menor de 60        Alive  1408
4 menor de 60        Dead    182

Una vez que tenemos la base de datos preparada, podemos calcular la mortalidad específica por grupos de edad.

mortality_age <- mortality_age %>%
  mutate(mortality = n/sum(n)*100)

mortality_age
# A tibble: 4 × 4
# Groups:   AGE_CAT [2]
  AGE_CAT            DEATH     n mortality
  <chr>              <chr> <int>     <dbl>
1 mayor o igual a 60 Alive  1080      64.6
2 mayor o igual a 60 Dead    593      35.4
3 menor de 60        Alive  1408      88.6
4 menor de 60        Dead    182      11.4

El código para obtener los estimados de la mortalidad con la función freq_table() será el siguiente,

mortality %>% 
  freq_table(AGE_CAT, DEATH)
# A tibble: 4 × 17
  row_var row_cat     col_var col_cat     n n_row n_total percent_total se_total
  <chr>   <chr>       <chr>   <chr>   <int> <int>   <int>         <dbl>    <dbl>
1 AGE_CAT mayor o ig… DEATH   Alive    1080  1673    3263         33.1     0.824
2 AGE_CAT mayor o ig… DEATH   Dead      593  1673    3263         18.2     0.675
3 AGE_CAT menor de 60 DEATH   Alive    1408  1590    3263         43.2     0.867
4 AGE_CAT menor de 60 DEATH   Dead      182  1590    3263          5.58    0.402
# ℹ 8 more variables: t_crit_total <dbl>, lcl_total <dbl>, ucl_total <dbl>,
#   percent_row <dbl>, se_row <dbl>, t_crit_row <dbl>, lcl_row <dbl>,
#   ucl_row <dbl>

Es importante recordar que cuando se utilice la función freq_table() y se estratifique el estimado, debemos revisar las columnas percent_row, lcl_row y ucl_row.

16.3.3 Tasa de letalidad

La tasa de letalidad es el cálculo de la proporción de personas que han fallecido a causa de una enfermedad en relación al número de personas que han sido diagnosticadas con dicha enfermedad.

\[ \mathrm{Tasa \ de \ letalidad} = \frac{Nro \ de \ muertes \ por \ una \ enfermedad}{Nro \ de \ personas \ con \ la \ enfermedad}*100 \] Se calculará la tasa de letalidad con las siguientes variables: pacientes fallecidos por infarto agudo al miocardio MI_FCHD y pacientes con infarto agudo al miocardio ANYCHD. Para ello, solo nos enfocaremos en los pacientes que han tenido infarto ANYCHD == "Infarto".

letalidad <- mortality %>% 
  filter(ANYCHD == "Infarto") 

Ahora se realizará el conteo de muertes

letalidad_infarto <- letalidad %>% 
  group_by(MI_FCHD) %>% 
  summarise(n = n())

letalidad_infarto
# A tibble: 2 × 2
  MI_FCHD       n
  <chr>     <int>
1 Muerte      453
2 No Muerte   394

Posteriormente, se calculará la tasa de letalidad.

letalidad_infarto <- letalidad_infarto %>% 
  mutate(fatality = n/sum(n)*100)

letalidad_infarto
# A tibble: 2 × 3
  MI_FCHD       n fatality
  <chr>     <int>    <dbl>
1 Muerte      453     53.5
2 No Muerte   394     46.5

Usando freq_table()

letalidad %>% 
  freq_table(MI_FCHD)
# A tibble: 2 × 9
  var     cat           n n_total percent    se t_crit   lcl   ucl
  <chr>   <chr>     <int>   <int>   <dbl> <dbl>  <dbl> <dbl> <dbl>
1 MI_FCHD Muerte      453     847    53.5  1.71   1.96  50.1  56.8
2 MI_FCHD No Muerte   394     847    46.5  1.71   1.96  43.2  49.9

En la población de estudio, la tasa de letalidad de infarto agudo al miocardio es de 53.48% (IC95%: 50.11 - 56.83).

16.4 Ejercicios

16.4.1 Ejercicio 1

Utilizando la base de datos de Framingham, calcule:

  • Prevalencia puntual al inicio del estudio de infarto al miocardio

16.4.2 Ejercicio 2

  • Prevalencia de hipertensión en el periodo 2

16.4.3 Ejercicio 3

  • Incidencia de stroke en el periodo 3