Ir al contenido

chr Calcula la proporción de enfermos que resultan hospitalizados sobre todos los enfermos confirmados en distintas categorías (residencia / edad / etc)

Uso

chr(
  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("Confirmados COVID"),
  group_by_tipo_clasificacion = FALSE,
  incluir_paciente_no_especificado = 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,
  fill_NA = TRUE,
  list_name = "case hospitalization rate",
  .grouping_vars = c()
)

Argumentos

datos_covid

(obligatorio) Lista de tibbles o duckdbs resultante de descarga_datos_abiertos() o read_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 las entidades 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) o Residencia (entidad donde reside el individuo).

fecha_tipo

(opcional) Selecciona si la fecha que se utiliza es la fecha de Ingreso (si aplica), la fecha de Sintomas o la de Defuncion (si aplica). El default es fecha de Sintomas.

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 caso TRUE. Si FALSE suma todos los casos del tipo de clasificacion por fecha dando un solo numero por fecha. El defalt es FALSE.

incluir_paciente_no_especificado

(opcional) Si en el denominador se incluyen los pacientescuyo tipo es NO ESPECIFICADO. Por default es FALSE por lo que sólo se incluyen AMBULATORIO, HOSPITALIZADO.

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 por tipo_sector (es decir cada fecha tiene una entrada con los del IMSS, una entrada distinta con los de ISSSTE, etc) o bien en caso de FALSE se devuelve una sola entrada por fecha con la suma IMSS + ISSSTE + etc segun los sectores seleccionados. El default es FALSE.

defunciones

(opcional) Booleana si incluir sólo defunciones TRUE o a todos FALSE. El default es FALSE.

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 bien edad_cut = c(15, 20) deja sólo los registros entre 15 y 20 años. Por default es NULL 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 hospitalization rate) con una base de datos (tibble o duckdb) con los resultados agregados.

  • case hospitalization rate - 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 o tibble)

  • disconnect - Función para desconectarte de duckdb

  • ... - Cualquier otro elemento que ya existiera en datos_covid

Detalles

El case hospitalization rate se define como

$$\frac{\# Hospitalizados}{Total de enfermos}$$

Si se utiliza la opción incluir_paciente_no_especificado se puede cambiar la definicion de Total de enfermos para incluir a los pacientes que dicen NO ESPECIFICADO. Estos por default se excluyen justo por su naturaleza desconocida.

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
datos_covid <- datos_covid |> chr()
head(datos_covid$`case hospitalization rate`)
#> # A tibble: 6 × 5
#>   FECHA_SINTOMAS      ENTIDAD_UM ENTIDAD_FEDERATIVA  ABREVIATURA CASE HOSPITAL…¹
#>   <dttm>              <chr>      <chr>               <chr>                 <dbl>
#> 1 2021-07-01 00:00:00 02         BAJA CALIFORNIA     BC                   0.25  
#> 2 2021-07-01 00:00:00 03         BAJA CALIFORNIA SUR BS                   0.183 
#> 3 2021-07-02 00:00:00 02         BAJA CALIFORNIA     BC                   0.355 
#> 4 2021-07-02 00:00:00 03         BAJA CALIFORNIA SUR BS                   0.0787
#> 5 2021-07-03 00:00:00 02         BAJA CALIFORNIA     BC                   0.0882
#> 6 2021-07-03 00:00:00 03         BAJA CALIFORNIA SUR BS                   0.122 
#> # … with abbreviated variable name ¹​`CASE HOSPITALIZATION RATE`

# Nacional
# \donttest{
datos_covid <- datos_covid |> chr(list_name = "chr_nacional", group_by_entidad = FALSE)
head(datos_covid$`chr_nacional`)
#> # A tibble: 6 × 2
#>   FECHA_SINTOMAS      `CASE HOSPITALIZATION RATE`
#>   <dttm>                                    <dbl>
#> 1 2021-07-01 00:00:00                      0.189 
#> 2 2021-07-02 00:00:00                      0.120 
#> 3 2021-07-03 00:00:00                      0.118 
#> 4 2021-07-04 00:00:00                      0.0700
#> 5 2021-07-05 00:00:00                      0.0830
#> 6 2021-07-06 00:00:00                      0.138 

# CHR en IMSS e ISSSTE
datos_covid <- datos_covid |>
  chr(tipo_sector = c("IMSS", "ISSSTE"), list_name = "chimss", group_by_tipo_sector = TRUE)
head(datos_covid$`chimss`)
#> # A tibble: 6 × 7
#>   FECHA_SINTOMAS      ENTIDAD_UM SECTOR ENTIDAD_FEDERA…¹ ABREV…² DESCR…³ CASE …⁴
#>   <dttm>              <chr>       <dbl> <chr>            <chr>   <chr>     <dbl>
#> 1 2021-07-01 00:00:00 02              4 BAJA CALIFORNIA  BC      IMSS     0.111 
#> 2 2021-07-01 00:00:00 03              4 BAJA CALIFORNIA… BS      IMSS     0.159 
#> 3 2021-07-01 00:00:00 03              6 BAJA CALIFORNIA… BS      ISSSTE   0.571 
#> 4 2021-07-02 00:00:00 02              4 BAJA CALIFORNIA  BC      IMSS     0.235 
#> 5 2021-07-02 00:00:00 03              4 BAJA CALIFORNIA… BS      IMSS     0.0458
#> 6 2021-07-02 00:00:00 03              6 BAJA CALIFORNIA… BS      ISSSTE   0.333 
#> # … with abbreviated variable names ¹​ENTIDAD_FEDERATIVA, ²​ABREVIATURA,
#> #   ³​DESCRIPCION_TIPO_SECTOR, ⁴​`CASE HOSPITALIZATION RATE`

# Calcula el CHR sobre toda la base
datos_covid <- datos_covid |>
  chr(
    tipo_clasificacion = c(
      "Sospechosos", "Confirmados COVID",
      "Negativo a COVID", "Inv\u00e1lido", "No realizado"
    ),
    group_by_tipo_clasificacion = TRUE, list_name = "chr_todos"
  )
head(datos_covid$`chr_todos`)
#> # 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.25  
#> 2 2021-07-01 00:00:00 02                       6 BAJA C… BC      "CASO …  0.2   
#> 3 2021-07-01 00:00:00 02                       7 BAJA C… BC      "NEGAT…  0.0455
#> 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.184 
#> 6 2021-07-01 00:00:00 03                       5 BAJA C… BS      "NO RE…  1     
#> # … with abbreviated variable names ¹​CLASIFICACION_FINAL, ²​ENTIDAD_FEDERATIVA,
#> #   ³​ABREVIATURA, ⁴​`CLASIFICACI\032N`, ⁵​`CASE HOSPITALIZATION RATE`

# Distinguiendo sólo entre defunciones
datos_covid <- datos_covid |>
  chr(defunciones = TRUE, list_name = "chr_defun")
head(datos_covid$`chr_defun`)
#> # A tibble: 6 × 5
#>   FECHA_SINTOMAS      ENTIDAD_UM ENTIDAD_FEDERATIVA  ABREVIATURA CASE HOSPITAL…¹
#>   <dttm>              <chr>      <chr>               <chr>                 <dbl>
#> 1 2021-07-01 00:00:00 02         BAJA CALIFORNIA     BC                        1
#> 2 2021-07-01 00:00:00 03         BAJA CALIFORNIA SUR BS                        1
#> 3 2021-07-02 00:00:00 02         BAJA CALIFORNIA     BC                        1
#> 4 2021-07-02 00:00:00 03         BAJA CALIFORNIA SUR BS                        1
#> 5 2021-07-03 00:00:00 02         BAJA CALIFORNIA     BC                        1
#> 6 2021-07-03 00:00:00 03         BAJA CALIFORNIA SUR BS                        1
#> # … with abbreviated variable name ¹​`CASE HOSPITALIZATION RATE`

# Si deseas agrupar por una variable que no este en las opciones
datos_covid <- datos_covid |>
  chr(.grouping_vars = c("DIABETES"), list_name = "chr_diab")
head(datos_covid$chr_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.333
#> 2 2021-07-01 00:00:00        1 03         BAJA CALIFORNIA SUR BS           0.409
#> 3 2021-07-01 00:00:00        2 02         BAJA CALIFORNIA     BC           0.238
#> 4 2021-07-01 00:00:00        2 03         BAJA CALIFORNIA SUR BS           0.161
#> 5 2021-07-02 00:00:00        1 02         BAJA CALIFORNIA     BC           0.5  
#> 6 2021-07-02 00:00:00        1 03         BAJA CALIFORNIA SUR BS           0.231
#> # … with abbreviated variable names ¹​ABREVIATURA, ²​`CASE HOSPITALIZATION RATE`
# }
# Finalmente desconectamos
datos_covid$disconnect()
#>  Desconectado