UNIVERSIDAD CENTRAL DEL ECUADOR

Facultad de Ingeniería en Geología, Minas, Petroleos y Ambiental

Ingeniería Ambiental

#Cargar datos
setwd("C:/Users/KEVIN/OneDrive - Universidad Central del Ecuador/Escritorio/kevin/Estadistica/mundial/Rstudio")
datos <- read.csv("water_pollution_disease.csv",header = TRUE,sep = ",",dec = ".")

#Extraccion variable Cuantitativa Discreta
Densidad_poblacion <- datos$Population.Density..people.per.km..

# Agrupar por intervalos
breaks <- seq(0, 1000, by = 100)
labels <- paste(head(breaks, -1), tail(breaks, -1), sep = "-")
intervalos <- cut(Densidad_poblacion, breaks = breaks, include.lowest = TRUE, right = FALSE,labels = labels)
TDF_Densidad <- data.frame(table(intervalos))
min <- min(Densidad_poblacion)
max <- max(Densidad_poblacion)

# Tabla de distribución de frecuencia

ni <- TDF_Densidad$Freq
sum(ni)
## [1] 3000
hi <- (ni/sum(ni))
sum(hi)
## [1] 1
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_Densidad <- data.frame(TDF_Densidad$intervalos,
                           ni,
                           round(hi * 100, 2),
                           Ni_asc,
                           Ni_desc,
                           round(Hi_asc * 100, 2),
                           round(Hi_desc * 100, 2))

colnames(TDF_Densidad) <- c("Intervalos de densidad","ni","hi(%)",
                            "Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
# crear de fila de totales
totales <- data.frame( Intervalos=" TOTAL ",
              ni= sum(ni),
              hi= sum(hi*100),
              Ni_asc= "-",
              Ni_des= "-",
              Hi_asc= "-",
              Hi_des= "-")
colnames(totales) <- c("Intervalos de densidad","ni","hi(%)",
                       "Ni asc","Hi asc(%)","Ni desc","Hi desc(%)")

TDF_Densidad_total <- rbind(TDF_Densidad,totales)
library(knitr)
## Warning: package 'knitr' was built under R version 4.4.2
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.4.2
kable(TDF_Densidad_total, align = 'c',
      caption = "Tabla de Distribucion de Frecuencias de la densidad de la población (Personas por km²)") %>%
  kable_styling(full_width = FALSE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribucion de Frecuencias de la densidad de la población (Personas por km²)
Intervalos de densidad ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
0-100 267 8.90 267 3000 8.9 100
100-200 304 10.13 571 2733 19.03 91.1
200-300 316 10.53 887 2429 29.57 80.97
300-400 273 9.10 1160 2113 38.67 70.43
400-500 298 9.93 1458 1840 48.6 61.33
500-600 325 10.83 1783 1542 59.43 51.4
600-700 311 10.37 2094 1217 69.8 40.57
700-800 316 10.53 2410 906 80.33 30.2
800-900 302 10.07 2712 590 90.4 19.67
900-1000 288 9.60 3000 288 100 9.6
TOTAL 3000 100.00
# GRAFICAS

# Diagrama de barrras local
barplot(ni,
        main="Gráfica N°1: Distribución por intervalos de personas por km²
        del estudio de contaminación del agua",
        xlab = "Personas por km²",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,max(ni)),
        names.arg=TDF_Densidad$`Intervalos de densidad`,
        las=2,
        cex.names=0.63)
mtext("*En los intervalos los limites superiores son abiertos", side = 1, line = 5, adj = 0, cex = 0.7)

barplot(TDF_Densidad$`hi(%)`,
        main="Gráfica N°2: Distribución porcentual de personas por km²
        del estudio de contaminación del agua",
        xlab = "Personas por km²",
        ylab = "Porcentaje",
        col = "lightgreen",
        names.arg=TDF_Densidad$`Intervalos de densidad`,
        las=2,
        cex.names=0.63)

# Diagrama de barrras global
barplot(ni,
        main="Gráfica N°3: Distribución por intervalos de personas por km²
        del estudio de contaminación del agua ",
        xlab = "Personas por km²",
        ylab = "Cantidad",
        col = "pink",
        ylim = c(0,3000),
        names.arg=TDF_Densidad$`Intervalos de densidad`,
        las=2,
        cex.names=0.63)

barplot(TDF_Densidad$`hi(%)`,
        main="Gráfica N°4: Distribución porcentual de personas por km²
        del estudio de contaminación del agua",
        xlab = "Personas por km²",
        ylab = "Porcentaje (%)",
        col = "skyblue",
        ylim = c(0,100),
        names.arg=TDF_Densidad$`Intervalos de densidad`,
        las=2,
        cex.names=0.63)

# Diagrama de Ojiva Ascendente y Descendente
x_pos <- 1:length(TDF_Densidad$`Intervalos de densidad`)
plot(x_pos ,Ni_desc,
     main = "Gráfica N°5: ",
     xlab = " Personas por km²",
     ylab = "Cantidad",
     col = "orange",
     type = "p",
     lwd = 3,
     xaxt="n")
lines(x_pos,Ni_asc,
      col = "green",
      type = "p",
      lwd = 3)
axis(side = 1, at = x_pos, labels = TDF_Densidad$`Intervalos de densidad`, las = 2, cex.axis = 0.7)

# Diagrama de Ojiva Ascendente y Descendente Porcentual
x_por <- 1:length(TDF_Densidad$`hi(%)`)
plot(x_pos, Hi_desc * 100,
     main = "Gráfica N°6:  ",
     xlab = " Personas por km²",
     ylab = "Porcentaje (%)",
     col = "red",
     type = "p",
     lwd = 2,
     xaxt="n")
lines(x_pos, Hi_asc * 100,
      col = "blue",
      type = "p",
      lwd = 3)
axis(side = 1, at = x_pos, labels = TDF_Densidad$`Intervalos de densidad`, las = 2, cex.axis = 0.7)

# Diagrama de Caja

boxplot(Densidad_poblacion,
                horizontal = TRUE,
                main = "Gráfica N°7: ",
                xlab = " Personas por km²",
                col = "purple",
                pch = 1)

# INDICADORES ESTADISTICOS

# Indicadores de Tendencia Central

# Media aritmética
media <- round(mean(Densidad_poblacion), 2)
media
## [1] 505.39
# Moda
max_frecuencia <- max(TDF_Densidad$ni)
moda <- TDF_Densidad$`Intervalos de densidad`[TDF_Densidad$ni == max_frecuencia]
moda
## [1] 500-600
## 10 Levels: 0-100 100-200 200-300 300-400 400-500 500-600 600-700 ... 900-1000
# Mediana
mediana <- median(Densidad_poblacion)
mediana
## [1] 513
# INDICADORES DE DISPERSIÓN #

# Varianza
varianza <- var(Densidad_poblacion)
varianza
## [1] 80244.85
# Desviación Estándar
sd <- sd(Densidad_poblacion)
sd
## [1] 283.2752
# Coeficiente de Variación
cv <- round((sd / media) * 100, 2)
cv
## [1] 56.05
# INDICADORES DE FORMA #

# Asimetría
library(e1071)
## Warning: package 'e1071' was built under R version 4.4.3
asimetria <- skewness(Densidad_poblacion, type = 2)
asimetria
## [1] -0.01191033
#Curtosis
curtosis <- kurtosis(Densidad_poblacion)
curtosis
## [1] -1.187693
tabla_indicadores <- data.frame("Variable" =c("Personas por km²"),
                                "Rango" = c("[10 ;999]"),
                                "X" = c(media),
                                "Me" = c(round(mediana,2)),
                                "Mo" = c("[500;600]"),
                                "V" = c(round(varianza,2)),
                                "Sd" = c(round(sd,2)),
                                "Cv" = c(cv),
                                "As" = c(round(asimetria,2)),
                                "K" = c(round(curtosis,2)),
                                "Valores Atipicos" = "No hay presencia de valores atípicos")
library(knitr)
library(kableExtra)
kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable
      densidad de poblacion en personas por km² de los países de estudio")
Conclusiones de la variable densidad de poblacion en personas por km² de los países de estudio
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Personas por km² [10 ;999] 505.39 513 [500;600] 80244.85 283.28 56.05 -0.01 -1.19 No hay presencia de valores atípicos