#### UNIVERSIDAD CENTRAL DEL ECUADOR ######
#### AUTOR: JHONNY JOSÉ CATUCUAMBA CALCINA ####
#### CARRERA: INGENIERÍA AMBIENTAL ####
### VARIABLE: TOTAL_VEG ####

setwd("/cloud/project")
datos <- read.csv("Conaf_Data_Chile_2017.csv")
total_veg <- datos$total_veg

# Eliminar NA y valores negativos si los hubiera
total_veg <- na.omit(total_veg)
total_veg_mayores_cero <- subset(total_veg, total_veg > 0)

# Crear objeto boxplot
bp <- boxplot(total_veg_mayores_cero, horizontal = TRUE,
              main = "Gráfica Nº 59: Diagrama de caja de superficie total de 
              vegetación afectada en Chile",
              xlab = "Superficie en ha")

# Obtener los outliers identificados por el boxplot
outliers <- bp$out

# Separar valores atípicos
total_veg_outliers <- total_veg_mayores_cero[total_veg_mayores_cero %in% outliers]

# Separar valores comunes
total_veg_comunes <- total_veg_mayores_cero[!total_veg_mayores_cero %in% outliers]

bpcomunes <- boxplot(total_veg_comunes, horizontal = TRUE,
                     main = "Gráfica Nº 60: Diagrama de caja de valores comunes de 
                     superficie total de vegetación afectada en Chile",
                     xlab = "Superficie en ha")

outliers <- bpcomunes$out
total_veg_comunes_outliers <- total_veg_comunes[total_veg_comunes %in% outliers]
total_veg_comunes_comunes <- total_veg_comunes[!total_veg_comunes %in% outliers]

boxplot(total_veg_comunes_comunes, horizontal = TRUE,
        main = "Gráfica Nº 61: Diagrama de caja de valores comunes de superficie 
        total de vegetación afectada en Chile",
        xlab = "Superficie en ha")

length(total_veg_comunes_comunes)
## [1] 3505
max <- max(total_veg_comunes_comunes)
min <- min(total_veg_comunes_comunes)
R <- max - min
k <- floor(1 + 3.3 * log10(length(total_veg_comunes_comunes)))  # Regla de Sturges
A <- R / k
breaks_total_veg <- seq(max, min, length.out = 13)

liminf <- seq(from = min(total_veg_comunes_comunes), by = A, length.out = k)
limsup <- liminf + A
MC <- (liminf + limsup) / 2
ni <- sapply(1:length(liminf), function(i) sum(total_veg_comunes_comunes >= liminf[i] & total_veg_comunes_comunes < limsup[i]))
ni[length(liminf)] <- sum(total_veg_comunes_comunes >= liminf[length(liminf)] & total_veg_comunes_comunes <= limsup[length(liminf)])
sum(ni)
## [1] 3505
hi <- (ni / sum(ni)) * 100
sum(hi)
## [1] 100
Niasc <- cumsum(ni)
Hiasc <- cumsum(hi)
Nides <- rev(cumsum(rev(ni)))
Hides <- rev(cumsum(rev(hi)))

TDF_total_veg <- data.frame(round(liminf, 2), round(limsup, 2), round(MC, 2), round(ni, 2),
                            round(hi, 2), round(Niasc, 2), round(Nides, 2), round(Hiasc, 2), round(Hides, 2))
colnames(TDF_total_veg) <- c("Liminf", "Limsup", "MC", "ni", "hi(%)",
                             "Ni asc", "Ni desc", "Hi asc(%)", "Hi desc(%)")

totales <- c(liminf = "TOTAL", limsup = "-", MC = "-", ni = sum(ni), hi = sum(hi),
             Ni_asc = "-", Ni_des = "-", Hi_asc = "-", Hi_des = "-")

TDF_totalveg_total <- rbind(TDF_total_veg, totales)
TDF_totalveg_total
##    Liminf Limsup   MC   ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
## 1       0    0.2  0.1 1840  52.5   1840    3505      52.5        100
## 2     0.2    0.4  0.3  442 12.61   2282    1665     65.11       47.5
## 3     0.4   0.61  0.5  334  9.53   2616    1223     74.64      34.89
## 4    0.61   0.81 0.71  171  4.88   2787     889     79.51      25.36
## 5    0.81   1.01 0.91  221  6.31   3008     718     85.82      20.49
## 6    1.01   1.21 1.11   96  2.74   3104     497     88.56      14.18
## 7    1.21   1.41 1.31   65  1.85   3169     401     90.41      11.44
## 8    1.41   1.61 1.51  125  3.57   3294     336     93.98       9.59
## 9    1.61   1.82 1.71   50  1.43   3344     211     95.41       6.02
## 10   1.82   2.02 1.92  105     3   3449     161      98.4       4.59
## 11   2.02   2.22 2.12   29  0.83   3478      56     99.23        1.6
## 12   2.22   2.42 2.32   27  0.77   3505      27       100       0.77
## 13  TOTAL      -    - 3505   100      -       -         -          -
Hist_total_veg <- hist(total_veg_comunes_comunes, 
                       main = "Gráfica Nº 62: Histograma de superficie total de vegetación 
                       afectada en Chile para la elaboración de la TDF",
                       xlab = "Superficie (ha)", 
                       ylab = "Cantidad",
                       col = "purple")

limites <- Hist_total_veg$breaks
liminf <- limites[1:13]
limsup <- limites[2:14]
MC <- Hist_total_veg$mids
ni <- Hist_total_veg$counts
sum(ni)
## [1] 3505
hi <- round(ni / sum(ni), 3) * 100
sum(hi)
## [1] 100
Niasc <- cumsum(ni)
Hiasc <- cumsum(hi)
Nides <- rev(cumsum(rev(ni)))
Hides <- rev(cumsum(rev(hi)))

TDF_hist_total_veg <- data.frame(liminf, limsup, MC, ni, hi, Niasc, Nides, Hiasc, Hides)
colnames(TDF_hist_total_veg) <- c("Liminf", "Limsup", "MC", "ni", "hi(%)",
                                  "Ni asc", "Ni desc", "Hi asc(%)", "Hi desc(%)")

totales <- c(liminf = "TOTAL", limsup = "-", MC = "-", ni = sum(ni), hi = sum(hi),
             Ni_asc = "-", Ni_des = "-", Hi_asc = "-", Hi_des = "-")

TDF_totalveghist_total <- rbind(TDF_hist_total_veg, totales)
TDF_totalveghist_total
##    Liminf Limsup  MC   ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
## 1       0    0.2 0.1 1840  52.5   1840    3505      52.5        100
## 2     0.2    0.4 0.3  442  12.6   2282    1665      65.1       47.5
## 3     0.4    0.6 0.5  334   9.5   2616    1223      74.6       34.9
## 4     0.6    0.8 0.7  171   4.9   2787     889      79.5       25.4
## 5     0.8      1 0.9  221   6.3   3008     718      85.8       20.5
## 6       1    1.2 1.1   95   2.7   3103     497      88.5       14.2
## 7     1.2    1.4 1.3   65   1.9   3168     402      90.4       11.5
## 8     1.4    1.6 1.5  126   3.6   3294     337        94        9.6
## 9     1.6    1.8 1.7   50   1.4   3344     211      95.4          6
## 10    1.8      2 1.9  104     3   3448     161      98.4        4.6
## 11      2    2.2 2.1   30   0.9   3478      57      99.3        1.6
## 12    2.2    2.4 2.3   26   0.7   3504      27       100        0.7
## 13    2.4    2.6 2.5    1     0   3505       1       100          0
## 14  TOTAL      -   - 3505   100      -       -         -          -
#### Histograma con la regla de Sturges ####
hist(total_veg_comunes_comunes, breaks = breaks_total_veg,
     main = "Gráfica Nº 63: Histograma de superficie total de 
     vegetación afectada en Chile",
     col = "red",
     xlab = "Superficie (ha)",
     ylab = "Cantidad")

#### Diagramas de caja y histogramas generales y locales ####
boxplot(total_veg_comunes_comunes, horizontal = TRUE,
        main = "Gráfica Nº 64: Diagrama de caja de superficie total de 
        vegetación afectada en Chile",
        xlab = "Superficie (ha)")

hist(total_veg_comunes_comunes,
     main = "Gráfica Nº 65: Histograma de superficie total de 
     vegetación afectada en Chile",
     col = "red",
     xlab = "Superficie (ha)",
     ylab = "Cantidad")

hist(total_veg_comunes_comunes,
     main = "Gráfica Nº 66: Histograma de superficie total de 
     vegetación afectada en Chile",
     col = "red",
     xlab = "Superficie (ha)",
     ylab = "Cantidad",
     ylim = c(0, 3505))

barplot(hi, space = 0,
        col = "red3",
        main = "Gráfica Nº 67: Histograma de superficie total de 
        vegetación afectada en Chile",
        ylab = "Porcentaje (%)",
        xlab = "Superficie (ha)",
        names.arg = TDF_hist_total_veg$MC)

barplot(hi, space = 0,
        col = "blue",
        main = "Gráfica Nº 68: Histograma de superficie total de 
        vegetación afectada en Chile",
        ylab = "Porcentaje (%)",
        xlab = "Superficie (ha)",
        names.arg = TDF_hist_total_veg$MC,
        ylim = c(0, 100))

#### Ojivas acumuladas ####
plot(MC, Nides,
     main = "Gráfica Nº 69: Ojiva acumulada absoluta (Ni asc y Ni desc) 
     de la superficie total de vegetación afectada en Chile",
     xlab = "Superficie (ha)",
     ylab = "Cantidad",
     col = "orange",
     type = "o",
     lwd = 3,
     pch = 16)
lines(MC, Niasc, col = "green", type = "o", pch = 16, lwd = 3)

plot(MC, Hides,
     main = "Gráfica Nº 70: Ojiva acumulada relativa (Hi asc y Hi desc)
     de la superficie total de vegetación afectada en Chile",
     xlab = "Superficie (ha)",
     ylab = "Porcentaje (%)",
     col = "orange",
     type = "o",
     lwd = 3,
     pch = 16)
lines(MC, Hiasc, col = "green", type = "o", pch = 16, lwd = 3)

### Indicadores estadísticos ###
library(e1071)

# Tendencia central
x <- mean(total_veg_comunes_comunes)
Me <- median(total_veg_comunes_comunes)

# Dispersión
varianza <- var(total_veg_comunes_comunes)
sd <- sd(total_veg_comunes_comunes)
CV <- (sd / x) * 100

# Forma
As <- skewness(total_veg_comunes_comunes)
K <- kurtosis(total_veg_comunes_comunes)

tabla_indicadores <- data.frame("Variable" = c("Total de vegetación"),
                                "Rango" = c("[0.0001 ; 2.42]"),
                                "X" = c("0.452"),
                                "Me" = c("0.2"),
                                "Mo" = c("[0.0 ; 0.2]"),
                                "Sd" = c("0.5617"),
                                "Cv" = c("124.3"),
                                "As" = c("1.528"),
                                "K" = c("1.504"),
                                "Valores Atípicos" = c("[1.6 ; 2.42]"))

library(knitr)
kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable total de vegetación")
Conclusiones de la variable total de vegetación
Variable Rango X Me Mo Sd Cv As K Valores.Atípicos
Total de vegetación [0.0001 ; 2.42] 0.452 0.2 [0.0 ; 0.2] 0.5617 124.3 1.528 1.504 [1.6 ; 2.42]