Calcula la proporcion de enfermos que fallecen sobre todos los enfermos confirmados en distintas categorias (residencia / edad / etc)
Uso
cfr(
datos_covid,
entidades = c("AGUASCALIENTES", "BAJA CALIFORNIA", "BAJA CALIFORNIA SUR", "CAMPECHE",
"CHIAPAS", "CHIHUAHUA", "CIUDAD DE MÉXICO", "COAHUILA DE ZARAGOZA", "COLIMA",
"DURANGO", "GUANAJUATO", "GUERRERO", "HIDALGO", "JALISCO", "MÉXICO",
"MICHOACÁN DE OCAMPO", "MORELOS", "NAYARIT", "NUEVO LEÓN", "OAXACA", "PUEBLA",
"QUERÉTARO", "QUINTANA ROO", "SAN LUIS POTOSÍ", "SINALOA", "SONORA", "TABASCO",
"TAMAULIPAS", "TLAXCALA", "VERACRUZ DE IGNACIO DE LA LLAVE", "YUCATÁN", "ZACATECAS"),
group_by_entidad = TRUE,
entidad_tipo = c("Unidad Medica", "Residencia", "Nacimiento"),
fecha_tipo = c("Sintomas", "Ingreso", "Defuncion"),
tipo_uci = c("SI", "NO", "NO APLICA", "SE IGNORA", "NO ESPECIFICADO"),
group_by_tipo_uci = FALSE,
tipo_clasificacion = c("Confirmados COVID"),
group_by_tipo_clasificacion = FALSE,
tipo_paciente = c("AMBULATORIO", "HOSPITALIZADO", "NO ESPECIFICADO"),
group_by_tipo_paciente = FALSE,
tipo_sector = c("CRUZ ROJA", "DIF", "ESTATAL", "IMSS", "IMSS-BIENESTAR", "ISSSTE",
"MUNICIPAL", "PEMEX", "PRIVADA", "SEDENA", "SEMAR", "SSA", "UNIVERSITARIO",
"NO ESPECIFICADO"),
group_by_tipo_sector = FALSE,
edad_cut = NULL,
fill_NA = TRUE,
list_name = "case fatality rate",
.grouping_vars = c()
)
Argumentos
- datos_covid
(obligatorio) Lista de
tibble
s oduckdb
s resultante dedescarga_datos_abiertos()
oread_datos_abiertos()
- entidades
(opcional) Vector con las entidades de las unidades medicas a analizar. Opciones:
AGUASCALIENTES
,BAJA CALIFORNIA
,BAJA CALIFORNIA SUR
,CAMPECHE
,CHIAPAS
,CHIHUAHUA
,CIUDAD DE MEXICO
,COAHUILA DE ZARAGOZA
,COLIMA
,DURANGO
,GUANAJUATO
,GUERRERO
,HIDALGO
,JALISCO
,MEXICO
,MICHOACAN DE OCAMPO
,MORELOS
,NAYARIT
NUEVO LEON
,OAXACA
,PUEBLA
,QUERETARO
,QUINTANA ROO
,SAN LUIS POTOSI
,SINALOA
,SONORA
,TABASCO
,TAMAULIPAS
,TLAXCALA
,VERACRUZ DE IGNACIO DE LA LLAVE
,YUCATAN
,ZACATECAS
.- group_by_entidad
(opcional)
TRUE
obtiene los casos para cada entidad reportando en cada fecha la entidad y los casos en dicha entidad.FALSE
junta lasentidades
sumando sus casos en una sola observacion por cada fecha.- entidad_tipo
(opcional) Indica a que se refiere las
entidades
seleccionadas. Elige una de las opciones:Unidad Medica
(entidad de la unidad medica),Nacimiento
(entidad de origen del individuo) oResidencia
(entidad donde reside el individuo).- fecha_tipo
(opcional) Selecciona si la fecha que se utiliza es la fecha de
Ingreso
(si aplica), la fecha deSintomas
o la deDefuncion
(si aplica). El default es fecha deSintomas
.- tipo_uci
(opcional) Vector con el tipo de valores para Unidad de Cuidado Intensivo (UCI) a incluir:
SI
,NO
,NO APLICA
,SE IGNORA
,NO ESPECIFICADO
. Por default se incluyen todos.- group_by_tipo_uci
(opcional) Booleana. El caso
TRUE
determina si regresa la base con cada fecha teniendo diferentes renglones uno para cadatipo_uci
(es decir cada fecha se generan tantos observaciones como grupos de tipo de UCI) o bien en una sola fecha se suman todos los tipos de UCI (FALSE
). El default esFALSE
.- tipo_clasificacion
(opcional) Vector con el tipo de clasificaciones (por la prueba) a incluir:
Sospechosos
,Confirmados COVID
,Negativo a COVID
,Inv\u00e1lido
,No realizado
- group_by_tipo_clasificacion
(opcional) Booleana determinando si regresa la base con cada entrada agrupada por
tipo_clasificacion
(es decir cada fecha se generan tantos observaciones como grupos de tipo de clasificación) en casoTRUE
. SiFALSE
suma todos los casos del tipo de clasificacion por fecha dando un solo numero por fecha. El defalt esFALSE
.- tipo_paciente
(opcional) Vector con el tipo de pacientes a incluir. Opciones:
AMBULATORIO
,HOSPITALIZADO
,NO ESPECIFICADO
. Por default se incluyen todos.- group_by_tipo_paciente
(opcional) Booleana determinando (caso
TRUE
) si regresa la base con cada entrada agrupada portipo_paciente
(es decir cada fecha se genera un renglon paraAMBULATORIO
, un renglon paraHOSPITALIZADO
, etc) o bien si se suman todos los grupos y cada fecha reporta solo la suma de estos (estiloAMBULATORIO + HOSPITALIZADO
segun las categorias detipo_paciente
) El default esFALSE
.- tipo_sector
(opcional) Vector con los sectores del sistema de salud a incluir:
CRUZ ROJA
,DIF
,ESTATAL
,IMSS
,IMSS-BIENESTAR
,ISSSTE
,MUNICIPAL
,PEMEX
,PRIVADA
,SEDENA
,SEMAR
,SSA
,UNIVERSITARIO
,NO ESPECIFICADO
. Por default se incluyen todos.- group_by_tipo_sector
(opcional) Booleana determina en el caso de
TRUE
si regresa la base con cada entrada agrupada portipo_sector
(es decir cada fecha tiene una entrada con los delIMSS
, una entrada distinta con los deISSSTE
, etc) o bien en caso deFALSE
se devuelve una sola entrada por fecha con la sumaIMSS + ISSSTE + etc
segun los sectores seleccionados. El default esFALSE
.- edad_cut
(opcional) Vector con secuencia de edades para hacer grupos. Por ejemplo
edad_cut = c(0, 10, Inf)
arma dos grupos de edad de 0 a 10 y de 10 a infinito o bienedad_cut = c(15, 20)
deja sólo los registros entre 15 y 20 años. Por default esNULL
y no arma grupos etarios.- fill_NA
(opcional) Regresa observaciones para todas las combinaciones de variables incluyendo como
NA
donde no se observaron casos en el denominador. En caso contrario no se incluyen las filas donde no se observaron casos.- list_name
(opcional) Asigna un nombre en la lista de datos a la base generada
- .grouping_vars
(opcional) Vector de variables adicionales de agrupacion de los conteos. Por ejemplo si se agrega
.grouping_vars = 'DIABETES'
entonces para cada fecha habra dos conteos de casos uno de los que tienen diabetes y uno de los que no.
Valor
Une a la lista de datos_covid
una nueva entrada de nombre list_name
(default: case fatality rate
) con una base de datos (tibble
o duckdb
) con los
resultados agregados.
case fatality rate
- Base de datos generara con los datos agregados (el nombre cambia si se usalist_name
).dict - Diccionario de datos
dats - Datos originales (conexion a
duckdb
otibble
)disconnect - Función para desconectarte de
duckdb
... - Cualquier otro elemento que ya existiera en
datos_covid
Detalles
El case fatality rate se define como
$$\frac{\# Defunciones}{Total de enfermos}$$
Si se utiliza la opción tipo_clasificacion
se puede cambiar la definicion de enfermo
(por default se incluyen solamente "Confirmados COVID"
).
Ejemplos
# Para el ejemplo usaremos los datos precargados (datosabiertos) pero tu puedes
# correr el ejemplo descargando informacion mas reciente.
datos_covid <- datosabiertos
# Casos a nivel nacional por entidad
datos_covid <- datos_covid |> cfr()
head(datos_covid$`case fatality rate`)
#> # A tibble: 6 × 5
#> FECHA_SINTOMAS ENTIDAD_UM ENTIDAD_FEDERATIVA ABREVIATURA CASE FATALITY…¹
#> <dttm> <chr> <chr> <chr> <dbl>
#> 1 2021-07-01 00:00:00 02 BAJA CALIFORNIA BC 0.125
#> 2 2021-07-01 00:00:00 03 BAJA CALIFORNIA SUR BS 0.0935
#> 3 2021-07-02 00:00:00 02 BAJA CALIFORNIA BC 0.0645
#> 4 2021-07-02 00:00:00 03 BAJA CALIFORNIA SUR BS 0.0281
#> 5 2021-07-03 00:00:00 02 BAJA CALIFORNIA BC 0.0588
#> 6 2021-07-03 00:00:00 03 BAJA CALIFORNIA SUR BS 0.0699
#> # … with abbreviated variable name ¹`CASE FATALITY RATE`
# \donttest{
# Agregando todos los estados
datos_covid <- datos_covid |>
cfr(list_name = "cfr_nacional", group_by_entidad = FALSE)
head(datos_covid$`cfr_nacional`)
#> # A tibble: 6 × 2
#> FECHA_SINTOMAS `CASE FATALITY RATE`
#> <dttm> <dbl>
#> 1 2021-07-01 00:00:00 0.0963
#> 2 2021-07-02 00:00:00 0.0335
#> 3 2021-07-03 00:00:00 0.0684
#> 4 2021-07-04 00:00:00 0.0117
#> 5 2021-07-05 00:00:00 0.0377
#> 6 2021-07-06 00:00:00 0.0731
# CFR en Baja California
datos_covid <- datos_covid |>
cfr(entidades = c("BAJA CALIFORNIA"), list_name = "cfr_bc")
head(datos_covid$`cfr_bc`)
#> # A tibble: 6 × 5
#> FECHA_SINTOMAS ENTIDAD_UM ENTIDAD_FEDERATIVA ABREVIATURA CASE FATALITY …¹
#> <dttm> <chr> <chr> <chr> <dbl>
#> 1 2021-07-01 00:00:00 02 BAJA CALIFORNIA BC 0.125
#> 2 2021-07-02 00:00:00 02 BAJA CALIFORNIA BC 0.0645
#> 3 2021-07-03 00:00:00 02 BAJA CALIFORNIA BC 0.0588
#> 4 2021-07-04 00:00:00 02 BAJA CALIFORNIA BC 0.0303
#> 5 2021-07-05 00:00:00 02 BAJA CALIFORNIA BC 0.0909
#> 6 2021-07-06 00:00:00 02 BAJA CALIFORNIA BC 0.0968
#> # … with abbreviated variable name ¹`CASE FATALITY RATE`
# Calcula el CFR suponiendo toda la base son confirmados
datos_covid <- datos_covid |>
cfr(
entidades = c("BAJA CALIFORNIA", "BAJA CALIFORNIA SUR"),
tipo_clasificacion = c(
"Sospechosos", "Confirmados COVID",
"Negativo a COVID", "Inv\u00e1lido", "No realizado"
),
group_by_tipo_clasificacion = TRUE, list_name = "bc_bcs_cfr"
)
head(datos_covid$`bc_bcs_cfr`) # Los NA es porque no habia observaciones en el denominador
#> # A tibble: 6 × 7
#> FECHA_SINTOMAS ENTIDAD_UM CLASIFICACION…¹ ENTID…² ABREV…³ CLASI…⁴ CASE …⁵
#> <dttm> <chr> <dbl> <chr> <chr> <chr> <dbl>
#> 1 2021-07-01 00:00:00 02 3 BAJA C… BC "CASO … 0.125
#> 2 2021-07-01 00:00:00 02 6 BAJA C… BC "CASO … 0
#> 3 2021-07-01 00:00:00 02 7 BAJA C… BC "NEGAT… 0
#> 4 2021-07-01 00:00:00 03 1 BAJA C… BS "CASO … 0
#> 5 2021-07-01 00:00:00 03 3 BAJA C… BS "CASO … 0.0939
#> 6 2021-07-01 00:00:00 03 5 BAJA C… BS "NO RE… 0
#> # … with abbreviated variable names ¹CLASIFICACION_FINAL, ²ENTIDAD_FEDERATIVA,
#> # ³ABREVIATURA, ⁴`CLASIFICACI\032N`, ⁵`CASE FATALITY RATE`
# Distinguiendo entre ambulatorio y hospitalizado
datos_covid <- datos_covid |>
cfr(
tipo_paciente = c("AMBULATORIO", "HOSPITALIZADO"),
group_by_tipo_paciente = TRUE,
list_name = "cfr_paciente"
)
head(datos_covid$cfr_paciente)
#> # A tibble: 6 × 7
#> FECHA_SINTOMAS ENTIDAD_UM TIPO_PACIENTE ENTIDAD…¹ ABREV…² DESCR…³ CASE …⁴
#> <dttm> <chr> <dbl> <chr> <chr> <chr> <dbl>
#> 1 2021-07-01 00:00:00 02 1 BAJA CAL… BC AMBULA… 0
#> 2 2021-07-01 00:00:00 02 2 BAJA CAL… BC HOSPIT… 0.5
#> 3 2021-07-01 00:00:00 03 1 BAJA CAL… BS AMBULA… 0
#> 4 2021-07-01 00:00:00 03 2 BAJA CAL… BS HOSPIT… 0.511
#> 5 2021-07-02 00:00:00 02 1 BAJA CAL… BC AMBULA… 0
#> 6 2021-07-02 00:00:00 02 2 BAJA CAL… BC HOSPIT… 0.182
#> # … with abbreviated variable names ¹ENTIDAD_FEDERATIVA, ²ABREVIATURA,
#> # ³DESCRIPCION_TIPO_PACIENTE, ⁴`CASE FATALITY RATE`
# CFR en distintos grupos de edad (0 a 20, 20 a 60 y 60+)
datos_covid <- datos_covid |>
cfr(edad_cut = c(0, 20, 60, Inf), list_name = "cfr_edad")
head(datos_covid$cfr_edad)
#> # A tibble: 6 × 6
#> FECHA_SINTOMAS EDAD_CAT ENTIDAD_UM ENTIDAD_FEDERATIVA ABREVIAT…¹ CASE …²
#> <dttm> <fct> <chr> <chr> <chr> <dbl>
#> 1 2021-07-01 00:00:00 [0,20] 02 BAJA CALIFORNIA BC 0
#> 2 2021-07-01 00:00:00 [0,20] 03 BAJA CALIFORNIA SUR BS 0
#> 3 2021-07-01 00:00:00 (20,60] 02 BAJA CALIFORNIA BC 0.1
#> 4 2021-07-01 00:00:00 (20,60] 03 BAJA CALIFORNIA SUR BS 0.0918
#> 5 2021-07-01 00:00:00 (60,Inf] 02 BAJA CALIFORNIA BC 0.5
#> 6 2021-07-01 00:00:00 (60,Inf] 03 BAJA CALIFORNIA SUR BS 0.357
#> # … with abbreviated variable names ¹ABREVIATURA, ²`CASE FATALITY RATE`
# Si deseas agrupar por una variable que no este en las opciones
datos_covid <- datos_covid |>
cfr(.grouping_vars = c("DIABETES"), list_name = "cfr_diab")
head(datos_covid$cfr_diab)
#> # A tibble: 6 × 6
#> FECHA_SINTOMAS DIABETES ENTIDAD_UM ENTIDAD_FEDERATIVA ABREVIAT…¹ CASE …²
#> <dttm> <int> <chr> <chr> <chr> <dbl>
#> 1 2021-07-01 00:00:00 1 02 BAJA CALIFORNIA BC 0
#> 2 2021-07-01 00:00:00 1 03 BAJA CALIFORNIA SUR BS 0.227
#> 3 2021-07-01 00:00:00 2 02 BAJA CALIFORNIA BC 0.143
#> 4 2021-07-01 00:00:00 2 03 BAJA CALIFORNIA SUR BS 0.0804
#> 5 2021-07-02 00:00:00 1 02 BAJA CALIFORNIA BC 0
#> 6 2021-07-02 00:00:00 1 03 BAJA CALIFORNIA SUR BS 0.154
#> # … with abbreviated variable names ¹ABREVIATURA, ²`CASE FATALITY RATE`
# }
# Finalmente desconectamos
datos_covid$disconnect()
#> ✔ Desconectado