obtener la base de datos
datos <- read.csv("C:/Users/enrique/OneDrive/Escritorio/Notas Rstudio/estadisticas_vitales_mexico_2018_2021.csv")
plot(cars)
print(datos)
NA
Calculo de la tasa de mortalidad del periodo 2018-2021
tasa_mortalidad <- (datos$defunciones_registradas/datos$poblacion_total) * 1000
datos$tasa_mortalidad <- (datos$defunciones_registradas/datos$poblacion_total) * 1000
datos[, c("anio", "tasa_mortalidad")]
#descripcion del resultado obtenido
cat("tasa de mortidad:", mean(tasa_mortalidad, na.rm = TRUE), "muertes por cada 1,000 habitantes durante el periodo 2018-2021\n")
tasa de mortidad: 7.303069 muertes por cada 1,000 habitantes durante el periodo 2018-2021
Generacion del grafico por ggplot
#grafico
ggplot(datos, aes(x = anio, y = tasa_mortalidad, fill = anio)) + geom_bar(stat = "identity", fill = "red") + labs(title = "Tasa de mortalidad periodo 2018-2021", x = "anio", y = "Tasa de mortalidad (por 1,000 habitantes") + theme_classic()
Calculo de tasa de natalidad
#Datos de tasa de natalidad
nacimientos <- datos$nacimientos_registrados
total_poblacion <- datos$poblacion_total
#Calculos de natalidad
tasa_natalidad <- (nacimientos/total_poblacion) * 1000
#impresion de resultados
cat("natalidad:", mean(tasa_natalidad, na.rm = TRUE), "nacimientos por cada 1,000 durante el periodo 2018-2021\n")
natalidad: 15.49277 nacimientos por cada 1,000 durante el periodo 2018-2021
datos$tasa_natalidad <- (datos$nacimientos_registrados / datos$poblacion_total) * 1000
datos[, c("anio", "tasa_natalidad")]
Visualizacion del grafico
ggplot(datos, aes(x = anio, y = tasa_natalidad, fill = anio)) + geom_bar(stat = "identity", fill = "green") + labs(title = "Tasa de natalidad periodo 2018-2021", x = "anio", y = "Tasa de mortalidad (por 1,000 habitantes") + theme_classic()
Calculo de incremento natural poblacional
incremento_natural <- (tasa_natalidad - tasa_mortalidad)
datos$incremento_natural <- datos$tasa_natalidad - datos$tasa_mortalidad
datos[, c("anio", "incremento_natural")]
NA
visualizacion del resultado
cat("Incremento natural",
mean(incremento_natural, na.rm = TRUE),
"por cada 1,000 habitantes durante el periodo 2018-2021\n")
Incremento natural 8.189702 por cada 1,000 habitantes durante el periodo 2018-2021
str(datos)
'data.frame': 4 obs. of 9 variables:
$ anio : int 2018 2019 2020 2021
$ poblacion_total : int 124738000 125930000 126014024 126705138
$ nacimientos_registrados : int 2162535 2092214 1629211 1912178
$ defunciones_registradas : int 722611 747784 1086743 1122249
$ incremento_natural : num 11.54 10.68 4.3 6.23
$ casos_covid_confirmados : num 0 0 1437185 NA
$ defunciones_covid_confirmadas: num 0 0 126507 NA
$ tasa_mortalidad : num 5.79 5.94 8.62 8.86
$ tasa_natalidad : num 17.3 16.6 12.9 15.1
Uso de ggplot para representacion grafica de los datos epidemiologicos
ggplot(datos, aes(x = anio, y = incremento_natural)) + geom_line(linewidth = 1) + geom_point(size = 3) + geom_text( aes(label = round(incremento_natural, 2)), vjust = -1.5, size = 4) + scale_y_continuous(expand = expansion(mult = c(0.05, 2.0))) + labs(title = "Incremento natural de la poblacion", x = "Ano", y = "incremento natural (por cada 1,000 habitantes") + theme_classic()
Datos de covid-19
datos$letalidad_covid_19 <- (datos$defunciones_covid_confirmadas / datos$casos_covid_confirmados) * 100
datos[, c("anio", "letalidad_covid_19")]
datos_letalidad <- datos[datos$casos_covid_confirmados > 0, c("anio", "letalidad_covid_19")]
datos_letalidad
Intente realize un grafico para demostar la letalidad que obtuvo covid-19 en el 2020 pero el codigo no funciono por alguna razonar
letalidad_valida <- datos_letalidad[!is.na(datos_letalidad) & !is.nan(datos_letalidad)]
Error en is.nan(datos_letalidad):
método por defecto no implementado para 'list'
Realiacion de cuadro de flextable
Datos <- data.frame(
año = c(2018, 2019, 2020, 2021),
poblacion_total = c(124738000, 125930000, 126014024, 126705138),
nacimientos_registrados = c(2162535, 2092214, 1629211, 1912178),
defunciones_registradas = c(722611, 747784, 1086743, 1122249),
casos_covid_confirmados = c(0, 0, 1437185, 0),
defunciones_covid_confirmadas = c(0, 0, 126507, 0))
datos$tasa_natalidad <- (datos$nacimientos_registrados /
datos$poblacion_total) * 1000
datos$tasa_mortalidad <- (datos$defunciones_registradas /
datos$poblacion_total) * 1000
datos$incremento_natural <- datos$tasa_natalidad - datos$tasa_mortalidad
datos$tasa_letalidad <- (datos$defunciones_covid_confirmadas / datos$casos_covid_confirmados) * 100
# Redondear solo columnas númericas
datos_redondeados <- datos %>%
mutate_if(is.numeric, round, 2)
# Crear la tabla con flextable
flextable(datos_redondeados) %>%
autofit()
anio | poblacion_total | nacimientos_registrados | defunciones_registradas | incremento_natural | casos_covid_confirmados | defunciones_covid_confirmadas | tasa_mortalidad | tasa_natalidad | letalidad_covid_19 | tasa_letalidad |
|---|---|---|---|---|---|---|---|---|---|---|
2,018 | 124,738,000 | 2,162,535 | 722,611 | 11.54 | 0 | 0 | 5.79 | 17.34 | ||
2,019 | 125,930,000 | 2,092,214 | 747,784 | 10.68 | 0 | 0 | 5.94 | 16.61 | ||
2,020 | 126,014,024 | 1,629,211 | 1,086,743 | 4.30 | 1,437,185 | 126,507 | 8.62 | 12.93 | 88.02 | 8.8 |
2,021 | 126,705,138 | 1,912,178 | 1,122,249 | 6.23 | 8.86 | 15.09 |