casos {covidmx} | R Documentation |
Casos de COVID-19 en Mexico
Description
casos
Calcula el numero de casos registrados por fecha agrupando (o sin hacerlo)
por diferentes covariables. Por default calcula el total de casos (con y sin prueba positiva)
Usage
casos(
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_clasificacion = c("Sospechosos", "Confirmados COVID", "Negativo a COVID",
"Inválido", "No realizado"),
group_by_tipo_clasificacion = FALSE,
tipo_paciente = c("AMBULATORIO", "HOSPITALIZADO", "NO ESPECIFICADO"),
group_by_tipo_paciente = FALSE,
tipo_uci = c("SI", "NO", "NO APLICA", "SE IGNORA", "NO ESPECIFICADO"),
group_by_tipo_uci = 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,
defunciones = FALSE,
edad_cut = NULL,
as_tibble = TRUE,
fill_zeros = as_tibble,
list_name = "casos",
.grouping_vars = c()
)
Arguments
datos_covid |
(obligatorio) Lista de |
entidades |
(opcional) Vector con las entidades de las unidades medicas a analizar.
Opciones: |
group_by_entidad |
(opcional) |
entidad_tipo |
(opcional) Indica a que se refiere las |
fecha_tipo |
(opcional) Selecciona si la fecha que se utiliza es la fecha de |
tipo_clasificacion |
(opcional) Vector con el tipo de clasificaciones (por la prueba)
a incluir: |
group_by_tipo_clasificacion |
(opcional) Booleana determinando si regresa la base
con cada entrada agrupada por |
tipo_paciente |
(opcional) Vector con el tipo de pacientes a incluir. Opciones:
|
group_by_tipo_paciente |
(opcional) Booleana determinando (caso |
tipo_uci |
(opcional) Vector con el tipo de valores para Unidad de
Cuidado Intensivo (UCI) a incluir: |
group_by_tipo_uci |
(opcional) Booleana. El caso |
tipo_sector |
(opcional) Vector con los sectores del sistema de salud a incluir:
|
group_by_tipo_sector |
(opcional) Booleana determina en el caso de |
defunciones |
(opcional) Booleana si incluir sólo defunciones |
edad_cut |
(opcional) Vector con secuencia de edades para hacer grupos. Por ejemplo
|
as_tibble |
(opcional) Regresar como |
fill_zeros |
(opcional) En caso de que el resultado sea un |
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 |
Details
La función es un grupo de funciones de dplyr
optimizadas para velocidad. Por ejemplo calcular
los casos por entidad se hace lo siguiente
datos_covid |> casos()
es lo mismo que:
library(dplyr) datos_covid$casos <- datos_covid$dats |> group_by(ENTIDAD_UM, FECHA_SINTOMAS) |> tally() |> left_join(datos_covid$dict$ENTIDAD_UM, by = c("ENTIDAD_UM" = "CLAVE_ENTIDAD"))
Elaboraciones mas complicadas en casos tienen su equivalente en dplyr por ejemplo:
datos_covid <- datos_covid |> casos( entidad_tipo = "Residencia", entidades = c("BAJA CALIFORNIA", "BAJA CALIFORNIA SUR"), group_by_tipo_clasificacion = FALSE, tipo_paciente = c("AMBULATORIO", "HOSPITALIZADO"), group_by_tipo_paciente = TRUE, list_name = "bajas" )
es equivalente a
datos_covid$bajas <- datos_covid$dats |> filter(ENTIDAD_RES == "02" | ENTIDAD_RES == "03") |> #BC/BCS filter(TIPO_PACIENTE == 1 | TIPO_PACIENTE == 2) |> #Ambulatorio/Hospitalizado group_by(FECHA_SINTOMAS, ENTIDAD_RES, TIPO_PACIENTE) |> tally() |> left_join(datos_covid$dict$ENTIDAD_RES, by = c("ENTIDAD_RES" = "CLAVE_ENTIDAD")) |> left_join(datos_covid$dict$PACIENTE, by = c("TIPO_PACIENTE" = "CLAVE"))
Value
Une a la lista de datos_covid
una nueva entrada de nombre list_name
(default: casos
) con una base de datos (tibble
o dbConnection
) con los
resultados agregados.
casos - Base de datos generara con los datos agregados (el nombre cambia si se usa
list_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
See Also
descarga_datos_abiertos()
numero_pruebas()
cfr()
chr()
estima_rt()
positividad()
Examples
# Para el ejemplo usaremos los datos precargados (datosabiertos) pero tu puedes
# correr el ejemplo descargando informacion mas reciente:
datos_covid <- datosabiertos
# Casos por entidad
datos_covid <- datos_covid |> casos()
head(datos_covid$casos)
# Defunciones por entidad
datos_covid <- datos_covid |> casos(defunciones = TRUE, list_name = "defunciones")
head(datos_covid$defunciones)
# Hospitalizados por entidad
datos_covid <- datos_covid |>
casos(tipo_paciente = "HOSPITALIZADO", list_name = "hospitalizados")
head(datos_covid$hospitalizados)
# UCI por entidad
datos_covid <- datos_covid |> casos(tipo_uci = "SI", list_name = "uci")
head(datos_covid$uci)
# Solo pacientes IMSS
datos_covid <- datos_covid |> casos(tipo_sector = "IMSS", list_name = "imss")
head(datos_covid$imss)
# Pacientes IMSS y PEMEX separados
datos_covid <- datos_covid |> casos(tipo_sector = c("IMSS", "PEMEX"), list_name = "imss_y_pemex")
head(datos_covid$imss_y_pemex)
# Pacientes IMSS y PEMEX sumados
datos_covid <- datos_covid |>
casos(
tipo_sector = c("IMSS", "PEMEX"), list_name = "imss_+_pemex",
group_by_tipo_sector = TRUE
)
head(datos_covid$`imss_+_pemex`)
# Solo los de BAJA CALIFORNIA
datos_covid <- datos_covid |>
casos(entidades = c("BAJA CALIFORNIA"), list_name = "BC")
head(datos_covid$BC)
# Solo los de BAJA CALIFORNIA por residencia
datos_covid <- datos_covid |>
casos(entidades = c("BAJA CALIFORNIA"), entidad_tipo = "Residencia", list_name = "residencia")
head(datos_covid$residencia)
# Agrupando casos por tipo de clasificacion
datos_covid <- datos_covid |>
casos(
entidades = c("BAJA CALIFORNIA", "BAJA CALIFORNIA SUR"),
group_by_tipo_clasificacion = TRUE,
list_name = "BC_BCS"
)
head(datos_covid$BC_BCS)
# Regresa la suma de los de BC + BCS por tipo de paciente
datos_covid <- datos_covid |>
casos(
entidades = c("BAJA CALIFORNIA", "BAJA CALIFORNIA SUR"),
group_by_tipo_clasificacion = FALSE,
tipo_paciente = c("AMBULATORIO", "HOSPITALIZADO"),
group_by_tipo_paciente = TRUE,
list_name = "BC_+_BCS"
)
head(datos_covid$`BC_+_BCS`)
# Si deseas agrupar por una variable que no este en las opciones
datos_covid <- datos_covid |>
casos(
group_by_entidad = FALSE,
tipo_paciente = c("AMBULATORIO", "HOSPITALIZADO"),
group_by_tipo_paciente = TRUE,
list_name = "sexo",
.grouping_vars = c("SEXO")
)
head(datos_covid$sexo)
# Si no recuerdas la codificacion de los sexos puedes usar el diccionario:
datos_covid$sexo <- datos_covid$sexo |>
dplyr::left_join(datos_covid$dict$SEXO, by = c("SEXO" = "CLAVE"))
head(datos_covid$sexo)
# Si no recuerdas todas las variables de la base puedes usar glimpse para ver por
# que otras variables puedes clasificar
datos_covid$dats |> dplyr::glimpse()
# Una vez hayas concluido tu trabajo no olvides desconectar
datos_covid$disconnect()