#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Facultad 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 discreta
campañas <- datos$Awareness.Campaigns.Count
TDFcampañas <- table(campañas)
Tablacampañas <- as.data.frame(TDFcampañas)
Tablacampañas
##    campañas Freq
## 1         0   48
## 2         1   43
## 3         2   40
## 4         3   38
## 5         4   41
## 6         5   42
## 7         6   43
## 8         7   37
## 9         8   30
## 10        9   28
## 11       10   39
## 12       11   50
## 13       12   44
## 14       13   42
## 15       14   46
## 16       15   49
## 17       16   41
## 18       17   45
## 19       18   28
## 20       19   39
## 21       20   37
barplot(Tablacampañas$Freq,  main = "Gráfica No. 33:
        Distribución de la Cantidad de Campañas Realizadas 
        en el Estudio de Residuos en la India",
        xlab = "Campañas realizadas",
        ylab = "Cantidad",
        col = "green4",
        names.arg = Tablacampañas$campañas)

# Crear agrupación
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
Tablacampañas <- Tablacampañas %>%
  mutate(grupo = case_when(
    campañas %in% 0:2   ~ "0-2",
    campañas %in% 3:5   ~ "3-5",
    campañas %in% 6:8   ~ "6-8",
    campañas %in% 9:11  ~ "9-11",
    campañas %in% 12:14 ~ "12-14",
    campañas %in% 15:17 ~ "15-17",
    campañas %in% 18:20 ~ "18-20"
  ))

# Sumar frecuencias por grupo
Tablacampañas$grupo <- factor(Tablacampañas$grupo, levels = c("0-2", 
                                                              "3-5", 
                                                              "6-8", 
                                                              "9-11", 
                                                              "12-14", 
                                                              "15-17", 
                                                              "18-20"))

Grupo <- Tablacampañas %>%
  group_by(grupo) %>%
  summarise(frecuencia_total = sum(Freq), .groups = "drop")

Grupo <- Grupo %>%
  arrange(grupo)

# Crear la tabla
ni <- Grupo$frecuencia_total
ni
## [1] 131 121 110 117 132 135 104
hi <- ni/sum(ni)*100
hi
## [1] 15.41176 14.23529 12.94118 13.76471 15.52941 15.88235 12.23529
Niasc <- cumsum(ni)
Niasc
## [1] 131 252 362 479 611 746 850
Hiasc <- cumsum(hi)
Hiasc
## [1]  15.41176  29.64706  42.58824  56.35294  71.88235  87.76471 100.00000
Nidsc <- rev(cumsum(rev(ni)))
Nidsc
## [1] 850 719 598 488 371 239 104
Hidsc <- rev(cumsum(rev(hi)))
Hidsc
## [1] 100.00000  84.58824  70.35294  57.41176  43.64706  28.11765  12.23529
Tabla_campañas <- data.frame(Grupo, round(hi,2), Niasc,round(Hiasc,2),
                             Nidsc,round(Hidsc,2))
colnames(Tabla_campañas) <- c("Campañas","ni","hi (%)","Niasc","Hiasc (%)",
                              "Nidsc","Hidsc (%)")
Tabla_campañas[] <- lapply(Tabla_campañas, as.character)

# Creación de totales 
total <- c(Campañas="-",
           ni=sum(ni),
           hi=sum(hi),
           Niasc="-",
           Hidsc="-",
           Nidsc="-",
           Hidsc="-")
Tabla_campañastotal <- rbind(Tabla_campañas,total)
Tabla_campañas$ni <- as.numeric(as.character(Tabla_campañas$ni))
Tabla_campañas$hi <- as.numeric(as.character(Tabla_campañas$hi))
Tabla_campañastotal
##   Campañas  ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1      0-2 131  15.41   131     15.41   850       100
## 2      3-5 121  14.24   252     29.65   719     84.59
## 3      6-8 110  12.94   362     42.59   598     70.35
## 4     9-11 117  13.76   479     56.35   488     57.41
## 5    12-14 132  15.53   611     71.88   371     43.65
## 6    15-17 135  15.88   746     87.76   239     28.12
## 7    18-20 104  12.24   850       100   104     12.24
## 8        - 850    100     -         -     -         -
# GDF local ni
barplot(Tabla_campañas$ni, main = "Gráfica No. 34:
        Distribución de la Cantidad de Campañas Realizadas 
        en el Estudio de Residuos en la India",
        xlab = "Campañas realizadas",
        ylab = "Cantidad",
        col = "blue4",
        names.arg = Tabla_campañas$Campañas)

# GDF global ni 
barplot(Tabla_campañas$ni, main = "Gráfica No. 35:
        Distribución Global de Cantidad de Campañas Realizadas
        en el Estudio de Residuos en la India",
        xlab = "Campañas realizadas",
        ylab = "Cantidad",
        col = "purple3",
        names.arg = Tabla_campañas$Campañas,
        ylim = c(0,length(campañas)))

# GDF local hi
barplot(Tabla_campañas$hi, main = "Gráfica No. 36:
        Distribución del Porcentaje de Campañas Realizadas
        en el Estudio de Residuos en la India",
        xlab = "Campañas realizadas",
        ylab = "Porcentaje (%)",
        col = "blue4",
        names.arg = Tabla_campañas$Campañas)

# GDF global hi
barplot(Tabla_campañas$hi, main = "Gráfica No. 37:
        Distribución Global del Porcentaje de Campañas Realizadas
        en el Estudio de Residuos en la India",
        xlab = "Campañas realizadas",
        ylab = "Porcentaje (%)",
        col = "purple3",
        names.arg = Tabla_campañas$Campañas,
        ylim = c(0,100))

# Ojivas
Tabla_campañas$Campañas <- factor(Tabla_campañas$Campañas, levels = c("0-2", "3-5", "6-8", "9-11", "12-14", "15-17", "18-20"))
x <- c(1:length(Tabla_campañas$Campañas))
y <- Niasc
plot(x, y, type = "p", col = "blue", pch =16,
     main = "Gráfica No. 38:
     Ojivas Ascendente y Descendente de la Cantidad de Campañas 
     Realizadas en el Estudio de Residuos en la India",
     ylab = "Cantidad",
     xlab = "Intervalos de campañas realizadas",
     xaxt = "n")
axis(1, at = 1:length(Tabla_campañas$Campañas), labels = levels(Tabla_campañas$Campañas))
y <- Nidsc
lines(x, y, type = "p", col ="red", pch =16)

y <- Hiasc
plot(x, y, type = "p", col = "blue", pch =16,
     main = "Gráfica No. 39:
     Ojivas Ascendente y Descendente del Porcentaje de Campañas Realizadas
     en el Estudio de Residuos en la India",
     ylab = "Porcentaje (%)",
     xlab = "Intervalos de campañas realizadas",
     xaxt = "n")
axis(1, at = 1:length(Tabla_campañas$Campañas), labels = levels(Tabla_campañas$Campañas))
y <- Hidsc
lines(x, y, type = "p", col ="red", pch =16)

# Diagrama de caja
boxplot(campañas, main= "Gráfica No. 40:
        Distribución de la Cantidad de Campañas Realizadas 
        en el Estudio de Residuos en la India",
        col = "green3", horizontal = T, xlab="Campañas")

#---------------------- INDICADORES

#---- Indicadores de Tendencia Central
# Mediana
Me <- median(campañas)

# Media
X <- mean(campañas)

# Moda
Mo <- "[0-2],[12-14],[15-17]"

#---- Indicadores de Dispersión
# Varianza
var(campañas)
## [1] 36.85428
# Desviación estandar
sd <- sd(campañas)

# Coeficiente de variación 
CV <- (sd(campañas)/X)*100

#---- 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(campañas)

# Curtosis
K <- kurtosis(campañas)

Variable <- "Campañas"
Rango <- "[0,20]"

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    CV    As     K
## 1 Campañas [0,20] 9.905 10 [0-2],[12-14],[15-17] 6.07 61.29 -0.04 -1.22