# UNIVERSIDAD CENTRAL DEL ECUADOR
# Facultad de IngenierC-a en GeologC-a, Minas, Petroleos y Ambiental
# IngenierC-a Ambiental
# Autor: Domenica Yepez
# Variable : Continua total de plantaciones forestales 

# Directorio de trabajo
setwd("C:/Users/HP/OneDrive - Universidad Central del Ecuador/SEMESTRE III/Estadistica/Incendios en Chile/Datos")
# Cargar los datos 
library(readr)
datos <- read_delim("Conaf_Data_Chile_2017.csv", 
                    delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 5234 Columns: 30
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr  (5): temporada, ambito, nombre_inc, inicio_c, combus_i
## dbl (23): Column1, codreg, codprov, codcom, numero, utm_este, utm_norte, cau...
## num  (2): long, lat
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Extraer la variable total plantación
total_plantacion <-na.omit(as.numeric(datos$total_plan)) 
#analizar la variable por el diagrama de caja 
options(scipen = 999)
Caja_total_plantacion<- boxplot(total_plantacion, horizontal = T,
                          main = "Gráfica N°: Distribución de Superficie total
                        de plantaciones afectada en Chile",
                          xlab = " Superficie (ha) ",
                          col =  "#B5EAD7",
                          pch = 1)

#valores de cero de total plantación
total_plantacion_cero<-subset(total_plantacion, total_plantacion==0)
length(total_plantacion_cero)
## [1] 3838
#valores mayores de cero de total plantación
total_plantacion.1<- subset(total_plantacion, total_plantacion>0)
Caja_total_plantacion.1<- boxplot(total_plantacion.1, horizontal=T,
                            main = "Gráfica N°: Distribución de Superficie total
                        de plantaciones mayor a cero afectada en Chile",
                            xlab = " Superficie (ha)",
                            col =  "#FFDAC1",
                            pch = 1)

length(total_plantacion.1)
## [1] 1396
#se divide los valores mayores de cero en comunes y no comunes 
total_plantacion.1_comunes<- subset(total_plantacion.1,total_plantacion.1 < min(Caja_total_plantacion.1$out))
caja_mat_comunes<- boxplot(total_plantacion.1_comunes, horizontal=T,
                           main = "Gráfica N°: Distribución de Superficie total
                        de plantaciones comunes afectada en Chile",
                           xlab = "Superficie (ha)",
                           col =  "#D6E0F0",
                           pch = 1)

total_plantacion.1_outliers<-  subset(total_plantacion.1,total_plantacion.1 >= min(Caja_total_plantacion.1$out) & total_plantacion.1 < 2000000)
caja_mat_outliers<- boxplot(total_plantacion.1_outliers, horizontal=T, 
                            main= "Gráfica N°: Distribución de Superficie total
                        de plantaciones no comunes afectada en Chile",
                            xlab= "Superficie (ha)",
                            col= "#FFDAC1",
                            phc= 1)

# Estadística descriptiva para la variable total plantación comunes 
min <- min(total_plantacion.1_comunes )
max <- max(total_plantacion.1_comunes )
R <- max-min
K <- floor(1+3.33*log10(length(total_plantacion.1_comunes )))
A <-  (R/K)
lim_inf <- seq(from=min,to=max-A,by=A)
lim_sup <- seq(from=min+A,to=max+A,by=A)[1:K]
MC <- (lim_inf+lim_sup)/2

ni <- c()
for (i in 1:K) {
  if (i != K) {
    ni[i] <- length(subset(total_plantacion.1_comunes,
                           total_plantacion.1_comunes >= lim_inf[i] & total_plantacion.1_comunes < lim_sup[i]))
  } else {
    ni[i] <- length(subset(total_plantacion.1_comunes,
                           total_plantacion.1_comunes >= lim_inf[i] & total_plantacion.1_comunes <= lim_sup[i]))
  }
}


sum(ni)
## [1] 1155
hi <- ni/sum(ni)*100
sum(hi)
## [1] 100
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))

TDF_total_plantacion <- data.frame(round(lim_inf,2),
                           round(lim_sup,2),
                           round(MC,2),ni,
                           round(hi,2), 
                           Ni_asc,
                           Ni_desc,
                           round(Hi_asc,2),
                           round(Hi_desc,2))

colnames(TDF_total_plantacion) <- c("Lim inf","Lim sup","MC","ni","hi(%)",
                            "Ni asc","Hi asc(%)","Ni desc","Hi desc(%)")
totales <- c(lim_inf = "TOTAL", lim_sup = "-", MC = "-", ni = sum(ni), hi = sum(hi),
             Ni_asc = "-", Ni_desc = "-", Hi_asc = "-", Hi_desc = "-")

TDF_total_plantacion <- rbind(TDF_total_plantacion, totales)
TDF_total_plantacion
##    Lim inf Lim sup    MC   ni hi(%) Ni asc Hi asc(%) Ni desc Hi desc(%)
## 1        1    9.64  5.32  684 59.22    684      1155   59.22        100
## 2     9.64   18.27 13.95  177 15.32    861       471   74.55      40.78
## 3    18.27   26.91 22.59   98  8.48    959       294   83.03      25.45
## 4    26.91   35.55 31.23   57  4.94   1016       196   87.97      16.97
## 5    35.55   44.18 39.86   38  3.29   1054       139   91.26      12.03
## 6    44.18   52.82  48.5   30   2.6   1084       101   93.85       8.74
## 7    52.82   61.45 57.14   27  2.34   1111        71   96.19       6.15
## 8    61.45   70.09 65.77   14  1.21   1125        44    97.4       3.81
## 9    70.09   78.73 74.41    8  0.69   1133        30    98.1        2.6
## 10   78.73   87.36 83.05   14  1.21   1147        22   99.31        1.9
## 11   87.36      96 91.68    8  0.69   1155         8     100       0.69
## 12   TOTAL       -     - 1155   100      -         -       -          -
# Simplificar la tabla de Distribución de frecuencia con el histograma

Hist_densidad <- hist(total_plantacion.1_comunes , main="Gráfica N°:Distribución de superficie total 
                       afectada en Chile para la elaboración de la TDF",
                      xlab = "Superficie (ha)",
                      ylab= "Cantidad", col ="#CBAACB") 

k.1 <- length(Hist_densidad$breaks)
Li<- Hist_densidad$breaks[1:(length(Hist_densidad$breaks) - 1)]
Ls <- Hist_densidad$breaks[2:length(Hist_densidad$breaks)]
ni.1 <- Hist_densidad$counts
sum(ni.1)
## [1] 1155
MC.1<- Hist_densidad$mids
hi.1 <- (ni.1/sum(ni.1))
sum(hi.1)
## [1] 1
Ni_asc.1<- cumsum(ni.1)
Hi_asc.1 <- cumsum(hi.1)
Ni_desc.1 <- rev(cumsum(rev(ni.1)))
Hi_desc.1 <- rev(cumsum(rev(hi.1)))
TDF_total_plantacion.1 <- data.frame(Li = round(Li, 2),
                             Ls = round(Ls, 2),
                             MC.1 = round(MC.1, 2),
                             ni.1 = ni.1,
                             hi.1 = round(hi.1 * 100, 2),
                             Ni_asc.1 = Ni_asc.1,
                             Hi_asc.1 = round(Hi_asc.1 * 100, 2),
                             Ni_desc.1 = Ni_desc.1,
                             Hi_desc.1 = round(Hi_desc.1 * 100, 2))

colnames(TDF_total_plantacion.1) <- c("Lim inf","Lim sup","MC","ni","hi(%)",
                              "Ni asc","Hi asc(%)","Ni desc","Hi desc(%)")
totales <- c(Li = "TOTAL", Ls = "-", MC.1 = "-", ni.1 = sum(ni.1), hi.1 = sum(hi.1*100),
             Ni_asc.1= "-", Ni_desc.1 = "-", Hi_asc.1 = "-", Hi_desc.1 = "-")  

TDF_total_plantacion.1 <- rbind(TDF_total_plantacion.1, totales)
TDF_total_plantacion.1
##    Lim inf Lim sup MC   ni hi(%) Ni asc Hi asc(%) Ni desc Hi desc(%)
## 1        0      10  5  738  63.9    738      63.9    1155        100
## 2       10      20 15  167 14.46    905     78.35     417       36.1
## 3       20      30 25   89  7.71    994     86.06     250      21.65
## 4       30      40 35   53  4.59   1047     90.65     161      13.94
## 5       40      50 45   35  3.03   1082     93.68     108       9.35
## 6       50      60 55   29  2.51   1111     96.19      73       6.32
## 7       60      70 65   14  1.21   1125      97.4      44       3.81
## 8       70      80 75   17  1.47   1142     98.87      30        2.6
## 9       80      90 85    9  0.78   1151     99.65      13       1.13
## 10      90     100 95    4  0.35   1155       100       4       0.35
## 11   TOTAL       -  - 1155   100      -         -       -          -
#####################  Gr??ficas ###############################

# Histograma con la rergla de Sturgest###
breaks_sturges <- c(lim_inf, tail(lim_sup, 1))

hist(total_plantacion.1_comunes, breaks = breaks_sturges, 
     main = "Gráfica N°: Distribución de Superficie total de plantaciones 
     comunes afectadas en Chile ",
     col = "salmon",
     xlab = "Superficie (ha)",
     ylab = "Cantidad",
     xaxt = "n")

axis(side = 1, at = breaks_sturges, labels = round(breaks_sturges, 1), las = 1, cex.axis = 0.8)

# Histograma de ni que genera Rstudio 
# Local
hist(total_plantacion.1_comunes,
     main = "Gráfica N°: Distribución de Superficie total de plantaciones 
     comunes afectadas en Chile",
     col = "skyblue",
     xlab = "Superficie (ha)",
     ylab = "Cantidad")

# Gobal
hist(total_plantacion.1_comunes,
     main = "Gráfica N°: Distribución de Superficie total de plantaciones 
     comunes afectadas en Chile",
     col = "salmon",
     xlab = "Superficie (ha)",
     ylab = "Cantidad",
     ylim=c(0,1155))

# Histograma de hi que genera Rstudio 
#Local
barplot(hi.1*100,space=0,
        col = "skyblue",
        main ="Gráfica N°: Distribución de Superficie total de plantaciones
        comunes afectadas en Chile",
        ylab="Porcentaje (%)",
        xlab="Superficie (ha)",
        names.arg = MC.1)

# Global
barplot(hi.1*100,space=0,
        col = "salmon",
        main ="Gráfica N°: Distribución de Superficie total de plantaciones 
        comunes afectadas en Chile",
        ylab="Porcentaje (%)",
        xlab="Superficie (ha)",
        ylim = c(0,100), 
        names.arg = MC.1)

# Ojivas Ni_asc Ni_dsc global y local ####
plot(MC.1, Ni_desc.1,
     main = "Gráfica N°: Ojiva acumulada absoluta de Superficie total de 
     plantaciones comunes afectada en Chile",
     xlab = " Superficie (ha)",
     ylab = "Cantidad",
     col = "salmon",
     type = "o",
     lwd = 3,
     pch = 16,
     ylim = c(0,1155))
lines(MC.1, Ni_asc.1,
      col = "blue",
      type = "o",
      pch = 16,
      lwd = 3)

#  Ojivas Hi_asc y Hi_dsc global y local ###

plot(MC.1, Hi_desc.1*100,
     main = "Gráfica N°: Ojiva acumulada relativa de Superficie total de
     plantaciones comunes afectada en Chile",
     xlab = " Superficies (ha)",
     ylab = "Porcentaje (%)",
     col = "salmon",
     type = "o",
     lwd = 3,
     pch = 16,
     ylim = c(0,100))
lines(MC.1, Hi_asc.1*100,
      col = "blue",
      type = "o",
      pch = 16,
      lwd = 3)

### Indicadores ###
# Tendencia central
## Media aritmC)tica
x <- mean(total_plantacion.1_comunes)
x
## [1] 14.29784
## Mediana 
Me <- median(total_plantacion.1_comunes)
Me
## [1] 6
# DisperciC3n 
## varianza 
V<-var(total_plantacion.1_comunes)
V
## [1] 344.4658
## DeviaciC3n estandar
desv <- sd(total_plantacion.1_comunes)
desv
## [1] 18.55979
### coeficiente variabilidad ####
CV <- (desv/x)*100
CV
## [1] 129.8084
# FORMA 
## Asimetria
library(e1071)
## Warning: package 'e1071' was built under R version 4.4.3
As <- skewness(total_plantacion.1_comunes)
As
## [1] 2.045562
# Curtosis 
Ku<- kurtosis(total_plantacion.1_comunes)
Ku
## [1] 3.988659
# Outliers
outliers<- Caja_total_plantacion.1$out
outliers
##   [1]      160      132      590      330      300     2201      100     1735
##   [9]      205     1153    25315     1448    23891    10919     3698      713
##  [17]      753      157      222     5203     6566      782      213      583
##  [25]      355      189     7447      414      156      247     1327      622
##  [33]     3188    10148    68665     4910      150      110    24810     1500
##  [41]    39210    12250    13450      100    16220      130      480   177880
##  [49]     6490    69980     3350     2920     1023      150      224      100
##  [57]      100      200      400      150      200     1452      200      450
##  [65]   257302      500      100      100    99674     4581   124134   196471
##  [73]    14500     1399      900      200      104      102      101      168
##  [81]     3677      159     6044     1031     1974     9411      172      100
##  [89]      400      382      192      382      724      150      700      162
##  [97]    15800     6500     8500      243      164     1596   396817      138
## [105]    28600 11992049   484277   510341    41414      355      159      774
## [113]      142      122      442      124    14562     5194      125      411
## [121]    14775     1627      283   157492    29307      140      125      157
## [129]      203      112      250     1012     8414     3619    43006      100
## [137]      175      115      130     1477      324      142      126      599
## [145]      164      140      400      310      960      515      200      500
## [153]      122      190     1013      250      485     3095      183      801
## [161]      300   169466    14656     1643     1000      279    21694     2191
## [169]     8185    50096    63628     3220    13516    48795     5808    92569
## [177]     4737      275     3002    63130    21295     2006      351      170
## [185]     2200      220      738      181     3800      170      298     1006
## [193]      328      881     2024      296      335      174     1326      398
## [201]      183      103   115849     7209      391     2745      805     3345
## [209]      337      345      200      379   107021      176      287      514
## [217]     1500      112     1586      537     1081      126     6377      111
## [225]      112      150      200    12164      146      849     3015     1500
## [233]      140      230      245    13958    19171     1265      800     1043
## [241]      160
# tabla de indicadores de la variable 
tabla_indicadores <- data.frame(
  Variable = "Latitud",
  Rango = paste0("{", round(min(total_plantacion.1_comunes)), "-", round(max(total_plantacion.1_comunes)), "}"),
  Media = round(x, 2),
  Mediana = round(Me, 2),
  Moda = "0-10",
  Varianza = round(V, 2),
  Desviacion = round(desv, 2),
  Coeficiente_Variacion = round(CV, 2),
  Asimetria = round(As, 2),
  Curtosis = round(Ku, 2),
  Valores_Atipicos = paste(length(outliers), "entre [", min(outliers), "-", max(outliers), "]")
)

library(knitr)
kable(tabla_indicadores, align = 'c', caption = "Tabla: Conclusiones de la variable total plantaciones comunes")
Tabla: Conclusiones de la variable total plantaciones comunes
Variable Rango Media Mediana Moda Varianza Desviacion Coeficiente_Variacion Asimetria Curtosis Valores_Atipicos
Latitud {1-96} 14.3 6 0-10 344.47 18.56 129.81 2.05 3.99 241 entre [ 100 - 11992049 ]