#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Faculta de Ingeniería en Geología, Minas, Petróleo y Ambiental 
###-----------------Carrera de Ingeniería Ambiental

# Proyecto: Estudio de Residuos y Reciclaje en la India
# Etapa: Estadistica Descriptiva
# Integrantes: Jazmin Guañuna, Nayely Perugachi, Helen Taipe, Gabriela Usiña
# Fecha: 26/5/2025

setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = T, sep = ";", dec = ".")

#Extraer la variable cuantitativa continua
densidad_poblacion <- datos$Population.Density..People.km..

min <- min(densidad_poblacion)
max <- max(densidad_poblacion)
R <- max-min
k <- floor(1+(3.3*log10(length(densidad_poblacion))))
A <- R/k

liminf <- seq(from=min, to=max-A, by= A)
limsup <- seq(from=min+A, to=max, by=A)

# Crear intervalos
n <- c()
i <- c(1:k)
for (i in 1:k) {
  if (i==k)
    n[i] <- length(subset(densidad_poblacion,densidad_poblacion>=liminf[i] &
                            densidad_poblacion <=limsup[i])) 
  else
    n[i] <- length(subset(densidad_poblacion, densidad_poblacion>=liminf[i] &
                            densidad_poblacion < limsup[i]))
}

MC <- (liminf+limsup)/2
MC
##  [1]  3419.85  5589.55  7759.25  9928.95 12098.65 14268.35 16438.05 18607.75
##  [9] 20777.45 22947.15
ni <- n
ni
##  [1] 100  50 125  25 150  25  75 150  50 100
hi <- ni/sum(ni)*100
hi
##  [1] 11.764706  5.882353 14.705882  2.941176 17.647059  2.941176  8.823529
##  [8] 17.647059  5.882353 11.764706
Niasc <- cumsum(ni)
Niasc
##  [1] 100 150 275 300 450 475 550 700 750 850
Hiasc <- cumsum(hi)
Hiasc
##  [1]  11.76471  17.64706  32.35294  35.29412  52.94118  55.88235  64.70588
##  [8]  82.35294  88.23529 100.00000
Nidsc <- rev(cumsum(rev(ni)))
Nidsc
##  [1] 850 750 700 575 550 400 375 300 150 100
Hidsc <- rev(cumsum(rev(hi)))
Hidsc
##  [1] 100.00000  88.23529  82.35294  67.64706  64.70588  47.05882  44.11765
##  [8]  35.29412  17.64706  11.76471
Tabla_densidad_poblacion <- data.frame(liminf,limsup,MC,ni,round(hi,2),Niasc,
                                       round(Hiasc,2),Nidsc,round(Hidsc,2))
colnames(Tabla_densidad_poblacion) <- c("Liminf","Limsup","MC","ni","hi (%)",
                                        "Niasc","Hiasc (%)","Nidsc","Hidsc (%)")

# Crear totales
total <- c(Liminf="-",
           limsup="-",
           MC="-",
           ni=sum(ni),
           hi=sum(hi),
           Niasc="-",
           Hiasc="-",
           Nidsc="-",
           Hidsc="-")
Tabla_densidad_total <- rbind(Tabla_densidad_poblacion,total)
Tabla_densidad_total
##     Liminf  Limsup       MC  ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1     2335  4504.7  3419.85 100  11.76   100     11.76   850       100
## 2   4504.7  6674.4  5589.55  50   5.88   150     17.65   750     88.24
## 3   6674.4  8844.1  7759.25 125  14.71   275     32.35   700     82.35
## 4   8844.1 11013.8  9928.95  25   2.94   300     35.29   575     67.65
## 5  11013.8 13183.5 12098.65 150  17.65   450     52.94   550     64.71
## 6  13183.5 15353.2 14268.35  25   2.94   475     55.88   400     47.06
## 7  15353.2 17522.9 16438.05  75   8.82   550     64.71   375     44.12
## 8  17522.9 19692.6 18607.75 150  17.65   700     82.35   300     35.29
## 9  19692.6 21862.3 20777.45  50   5.88   750     88.24   150     17.65
## 10 21862.3   24032 22947.15 100  11.76   850       100   100     11.76
## 11       -       -        - 850    100     -         -     -         -
# Gráfica de Distribución de Frecuencia
Histo_densidad <- hist(densidad_poblacion,
                       breaks = seq(min,max,A),
                       main = "Gráfica No. 95:
                       Distribución de Cantidad de Densidad Poblacional
                       en el Estudio de Residuos en la India",
                       ylab = "Cantidad",
                       xlab = "Densidad poblacional (personas/km^2)",
                       col = "blue4")

#---------Tabla con Histograma de R
setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = T, sep = ";", dec = ".")

densidad_poblacion <- datos$Population.Density..People.km..
densidad_poblacion <- na.omit(densidad_poblacion)

Histograma_densidad <- hist(densidad_poblacion,
                            main = "Gráfica No. 96:
                        Distribución de Cantidad de Densidad Poblacional
                        en el Estudio de Residuos en la India",
                            ylab = "Cantidad",
                            xlab = "Densidad poblacional (personas/km^2)",
                            col = "blue4")

limites <- Histograma_densidad$breaks
liminf <- limites[1:12]
limsup <- limites[2:13]
MC <- (liminf+limsup)/2
ni <- Histograma_densidad$counts
hi <- ni/sum(ni)*100
hi
##  [1]  8.823529  5.882353 14.705882  5.882353  5.882353 11.764706  2.941176
##  [8]  8.823529 17.647059  5.882353  8.823529  2.941176
Niasc <- cumsum(ni)
Niasc
##  [1]  75 125 250 300 350 450 475 550 700 750 825 850
Hiasc <- cumsum(hi)
Hiasc
##  [1]   8.823529  14.705882  29.411765  35.294118  41.176471  52.941176
##  [7]  55.882353  64.705882  82.352941  88.235294  97.058824 100.000000
Nidsc <- rev(cumsum(rev(ni)))
Nidsc
##  [1] 850 775 725 600 550 500 400 375 300 150 100  25
Hidsc <- rev(cumsum(rev(hi)))
Hidsc
##  [1] 100.000000  91.176471  85.294118  70.588235  64.705882  58.823529
##  [7]  47.058824  44.117647  35.294118  17.647059  11.764706   2.941176
TDFDensidad_poblacion <- data.frame(liminf,limsup,MC,ni,round(hi,2),Niasc,
                                    round(Hiasc,2),Nidsc,round(Hidsc,2))
colnames(TDFDensidad_poblacion) <- c("Liminf","Limsup","MC","ni","hi (%)",
                                     "Niasc","Hiasc (%)","Nidsc","Hidsc (%)")
# Crear totales
totales <- c(
  liminf="-",
  limsup="-",
  MC="-",
  ni=sum(ni),
  hi=sum(hi),
  Niasc="-",
  Hiasc="-",
  Nidsc="-",
  Hidsc="-")

TDFDensidad_poblacion_Total <- rbind(TDFDensidad_poblacion,totales)
TDFDensidad_poblacion_Total
##    Liminf Limsup    MC  ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1    2000   4000  3000  75   8.82    75      8.82   850       100
## 2    4000   6000  5000  50   5.88   125     14.71   775     91.18
## 3    6000   8000  7000 125  14.71   250     29.41   725     85.29
## 4    8000  10000  9000  50   5.88   300     35.29   600     70.59
## 5   10000  12000 11000  50   5.88   350     41.18   550     64.71
## 6   12000  14000 13000 100  11.76   450     52.94   500     58.82
## 7   14000  16000 15000  25   2.94   475     55.88   400     47.06
## 8   16000  18000 17000  75   8.82   550     64.71   375     44.12
## 9   18000  20000 19000 150  17.65   700     82.35   300     35.29
## 10  20000  22000 21000  50   5.88   750     88.24   150     17.65
## 11  22000  24000 23000  75   8.82   825     97.06   100     11.76
## 12  24000  26000 25000  25   2.94   850       100    25      2.94
## 13      -      -     - 850    100     -         -     -         -
# Gráficas de Distribución de Frecuencia
# GDF ni local
Histograma_densidad_poblacion <- hist(densidad_poblacion, 
                                      breaks = Histograma_densidad$breaks, 
                                      main = "Gráfica No. 97: 
                                      Distribución de Cantidad de Densidad 
                                      Poblacional en el Estudio de Residuos en 
                                      la India",
                                      ylab = "Cantidad",
                                      xlab = "Densidad poblacional (personas/km^2)",
                                      col = "blue3")

# GDF ni global
Histograma_densidad_poblacion_ <- hist(densidad_poblacion, 
                                       breaks = Histograma_densidad$breaks, 
                                       main = "Gráfica No. 98: 
                                       Distribución Global de Cantidad de Densidad 
                                       Poblacional en el Estudio de Residuos en 
                                       la India",
                                       ylab = "Cantidad",
                                       xlab = "Densidad poblacional (personas/km^2)",
                                       col = "purple3")

# GDF hi local
barplot(TDFDensidad_poblacion$`hi (%)`,space = 0, 
        main = "Gráfica No. 99:
        Distribución del Porcentaje de Densidad Poblacional
        en el Estudio de Residuos en la India",
        ylab = "Porcentaje (%)",
        xlab = "Densidad poblacional (personas/km^2)",
        names.arg = TDFDensidad_poblacion$MC,
        col = "blue3")

# GDF hi global
barplot(TDFDensidad_poblacion$`hi (%)`,space = 0, 
        main = "Gráfica No. 100:
        Distribución Global del Porcentaje de Densidad Poblacional
        en el Estudio de Residuos en la India",
        ylab = "Porcentaje (%)",
        xlab = "Densidad poblacional (personas/km^2)",
        ylim = c(0,100),
        names.arg = TDFDensidad_poblacion$MC,
        col = "purple3")

# Diagrama de caja 
boxplot(densidad_poblacion, main = "Gráfica No. 101:
        Distribución de la Cantidad de Densidad Poblacional
        en el Estudio de Residuos en la India",
        xlab = "Densidad poblacional (personas/km^2)", horizontal = T, 
        col = "orange2" )

# Ojivas
plot(limsup, Niasc, type = "o", col = "blue", pch = 16,
     main = "Gráfico No. 102: 
     Ojivas Ascendente y Descendente de la Cantidad de Densidad 
     Poblacional en el Estudio de Residuos en la India",
     xlab = "Densidad poblacional (personas/km^2)",
     ylab = "Cantidad")
lines(liminf, Nidsc,type = "o",col = "red3", pch = 16)

plot(limsup, Hiasc, type = "o", col = "blue", pch = 16, 
     main = "Gráfico No. 103: 
     Ojivas Ascendente y Descendente del Porcentaje de Densidad 
     Poblacional en el Estudio de Residuos en la India",
     xlab = "Densidad poblacional (personas/km^2)",
     ylab = "Porcentaje (%)")
lines(liminf, Hidsc,type = "o",col = "red3", pch = 16)

#-----------INDICADORES
setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = T, sep = ";", dec = ".")

densidad_poblacion <- datos$Population.Density..People.km..
densidad_poblacion<- na.omit(densidad_poblacion)

# Tendencia Central
# Mediana
Me <- median(densidad_poblacion)
Me
## [1] 12579.5
# Media
X <- mean(densidad_poblacion)
X
## [1] 13489.71
# Moda
Mo <- "[18000,20000]"
Mo
## [1] "[18000,20000]"
# Dispersión
# Varianza
var(densidad_poblacion)
## [1] 43971242
# Desviación estandar
sd <- sd(densidad_poblacion)
sd
## [1] 6631.081
# Coeficiente de variación 
CV <- (sd(densidad_poblacion)/X)*100
CV
## [1] 49.15661
#--- Indicadores de Forma
install.packages("e1071")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(e1071)

# Coeficiente de Asimetría
As <- skewness(densidad_poblacion)
As
## [1] -0.06623802
# Curtosis
K <- kurtosis(densidad_poblacion)
K
## [1] -1.239865
Variable <- "Densidad poblacional"
Rango <- "[2335, 24032]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(sd,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")
Tabla_indicadores
##               Variable         Rango        X      Me            Mo      sd
## 1 Densidad poblacional [2335, 24032] 13489.71 12579.5 [18000,20000] 6631.08
##      CV    As     K
## 1 49.16 -0.07 -1.24