Ir al contenido

plot_covid Intenta graficar automaticamente la base de datos de covid generados por casos()

Uso

plot_covid(
  datos_covid,
  df_name = "casos",
  df_date_index = stringr::str_subset(colnames(datos_covid[df_name][[1]]),
    "FECHA|fecha|Fecha"),
  df_variable = NULL,
  df_covariates = c(),
  facet_scale = "free_y",
  facet_ncol = 4,
  date_break_format = "2 months",
  date_labels_format = "%B-%y",
  type = c("point", "line", "spline", "area"),
  plot_theme = ggplot2::theme(panel.background = ggplot2::element_rect(fill = "white"),
    plot.background = ggplot2::element_rect(fill = "white"), axis.text.x =
    ggplot2::element_text(angle = 90, hjust = 1), axis.line.x =
    ggplot2::element_line(color = "black"), legend.position = "none"),
  ...
)

Argumentos

datos_covid

(obligatorio) Lista de tibbles resultante de casos(), cfr(), chr(), positividad() o rt()

df_name

(opcional) Nombre de la base de datos dentro de la lista datos_covid

df_date_index

(opcional) Nombre de la variable que contiene la fecha

df_variable

(opcional) Nombre de la variable que se va a graficar en el eje y

df_covariates

(opcional) Covariables para el facet_wrap (maximo 2)

facet_scale

(opcional) Escala para el ggplot2::facet_wrap()

facet_ncol

(opcional) Numero de columnas para el ggplot2::facet_wrap()

date_break_format

(opcional) Breaks para el eje x ggplot2::scale_x_date()

date_labels_format

(opcional) Formato de fecha para el eje x ggplot2::scale_x_date()

type

(opcional) Tipo de grafica (line, area, spline o point)

plot_theme

(opcional) Tema para el ggplot2 (ejemplo ggplot2::theme_classic()).

...

(opcional) Parametros adicionales para ggformula::geom_spline() en caso de elegir type="spline"

Valor

Un ggplot2 con la imagen graficada.

Ver también

Ejemplos


# Para el ejemplo usaremos los datos precargados (datosabiertos) pero tu puedes
# correr el ejemplo descargando informacion mas reciente:
datos_covid <- datosabiertos

# Aqui muchos aparecen en cero si usas el default de datosabiertos
# porque la base de datosabiertos tiene muy pocos casos
datos_covid |>
  casos(list_name = "casos_for_plot", group_by_entidad = FALSE) |>
  plot_covid(df_name = "casos_for_plot")
#> ! `df_variable` no fue especificada. Usaremos la columna n
#> ! `df_covariates` no fue especificada. Usaremos ``


# Grafica de casos nacional
# \donttest{
datos_covid |>
  casos(group_by_entidad = FALSE, list_name = "plot_nal") |>
  plot_covid(df_name = "plot_nal")
#> ! `df_variable` no fue especificada. Usaremos la columna n
#> ! `df_covariates` no fue especificada. Usaremos ``


# Ajuste mediante splines
datos_covid |>
  casos(group_by_entidad = FALSE, list_name = "spline_nacional") |>
  plot_covid(df_name = "spline_nacional", type = "spline", spar = 0.5)
#> ! `df_variable` no fue especificada. Usaremos la columna n
#> ! `df_covariates` no fue especificada. Usaremos ``


# Graficacion por covariables
# el objeto devuelto es un objeto de ggplot2 al que se le puede dar formato
if (!requireNamespace("ggplot2", quietly = TRUE)) {
  datos_covid |>
    chr(
      group_by_entidad = TRUE, list_name = "plot_nal", .grouping_vars = c("SEXO"),
      entidades = c("BAJA CALIFORNIA", "BAJA CALIFORNIA SUR")
    ) |>
    plot_covid(
      df_name = "plot_nal",
      date_break_format = "1 week",
      date_labels_format = "%d/%B/%Y",
      df_covariates = c("SEXO", "ENTIDAD_FEDERATIVA"),
      type = "area"
    ) +
    ggplot2::ggtitle("Plot nacional")
}

# Puedes tambien primero editar el tibble que usaras por ejemplo poniendo
# los nombres de los sexos
datos_covid <- datos_covid |>
  chr(
    group_by_entidad = TRUE, list_name = "plot_nal", .grouping_vars = c("SEXO"),
    entidades = c("BAJA CALIFORNIA", "BAJA CALIFORNIA SUR")
  )
# }

# Finalmente desconectamos
datos_covid$disconnect()
#>  Desconectado