UNIVERSIDAD CENTRAL DEL ECUADOR

PROYECTO: FOCOS DE CALOR EN EL ECUADOR

AUTORES: GUERRERO MARIA GABRIELA, PUCHAICELA MONICA, ZURITA JOHANNA

FECHA: 14/05/2025

# Configuración
knitr::opts_chunk$set(echo = TRUE)
# importar datos
setwd("/cloud/project")
datos <- read.csv("Focos de Calor 2021.csv",
                  header = T, sep = ",", dec = ".")
datos <- read.csv("Focos de Calor 2021.csv",
                  header = TRUE, sep = ",", dec = ".", fileEncoding = "latin1")

#Estructura de los datos 
str(datos)
## 'data.frame':    22476 obs. of  12 variables:
##  $ ACQ_DATE  : chr  "20/11/2021" "20/11/2021" "06/08/2021" "10/06/2021" ...
##  $ DPA_DESPRO: chr  "ZAMORA CHINCHIPE" "ZAMORA CHINCHIPE" "ZAMORA CHINCHIPE" "ZAMORA CHINCHIPE" ...
##  $ DPA_DESCAN: chr  "CHINCHIPE" "CHINCHIPE" "CHINCHIPE" "CHINCHIPE" ...
##  $ DPA_DESPAR: chr  "CHITO" "CHITO" "PUCAPAMBA" "PUCAPAMBA" ...
##  $ LATITUDE  : num  -4.98e+15 -4.97e+15 -4.96e+15 -4.96e+15 -4.96e+15 ...
##  $ LONGITUDE : num  -7.90e+16 -7.90e+16 -7.91e+16 -7.91e+16 -7.92e+16 ...
##  $ BRIGHTNESS: num  3.55e+17 3.42e+17 3.32e+17 3.31e+17 3.28e+17 ...
##  $ SCAN      : num  5.1e+14 5.1e+14 1.5e+14 5.4e+14 5.0e+14 ...
##  $ TRACK     : num  4.9e+14 4.9e+14 3.8e+14 4.2e+14 4.9e+14 ...
##  $ INSTRUMENT: chr  "VIIRS" "VIIRS" "VIIRS" "VIIRS" ...
##  $ VERSION   : chr  "2.0NRT" "2.0NRT" "2.0NRT" "2.0NRT" ...
##  $ FRP       : num  1.21e+16 6.87e+15 3.77e+15 5.50e+15 2.90e+15 ...
table(is.na(datos$LATITUDE))
## 
## FALSE 
## 22476
Latitud <- as.numeric(as.character(datos$LATITUDE))
table(is.na(Latitud))
## 
## FALSE 
## 22476
# Paso 3: Verifica cuántos se perdieron
cat("Total original:", length(datos$LATITUDE), "\n")
## Total original: 22476
cat("Convertidos correctamente:", sum(!is.na(Latitud)), "\n")
## Convertidos correctamente: 22476
cat("Perdidos (NA):", sum(is.na(Latitud)), "\n")
## Perdidos (NA): 0
Latitud <- na.omit(Latitud)
Latitud <- Latitud / 1e6
summary(Latitud)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -4.980e+09 -2.010e+09 -1.610e+09 -1.678e+09 -1.050e+09  1.300e+09
head(datos$LATITUDE, 10)
##  [1] -4.98e+15 -4.97e+15 -4.96e+15 -4.96e+15 -4.96e+15 -4.96e+15 -4.95e+15
##  [8] -4.95e+15 -4.94e+15 -4.94e+15
# Tomemos el valor y dividimos por 1e15 para intentar acercarlo a -79
val2 <- -498000000000000000
val_grados2 <- val2 / 1e15
print(val_grados2)  # -79
## [1] -498
Latitud_correcta <- as.numeric(as.character(datos$LATITUDE)) / 1e15
summary(Latitud_correcta)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -4.980  -2.010  -1.610  -1.678  -1.050   1.300
length(Latitud_correcta)  
## [1] 22476
k11<-1+(3.3*log10(length(Latitud_correcta)))
k11<-floor(k11)
k11
## [1] 15
min<-min(Latitud_correcta)
max<-max(Latitud_correcta)
R2<-max-min
R2
## [1] 6.28
A2<-R2/k11
A2
## [1] 0.4186667
Li1 <- round(seq(from = min, to = max - A2, by = A2), 2)
Li1
##  [1] -4.98 -4.56 -4.14 -3.72 -3.31 -2.89 -2.47 -2.05 -1.63 -1.21 -0.79 -0.37
## [13]  0.04  0.46  0.88
Ls1 <- round(seq(from = min + A2, to = max, by = A2), 2)
Ls1
##  [1] -4.56 -4.14 -3.72 -3.31 -2.89 -2.47 -2.05 -1.63 -1.21 -0.79 -0.37  0.04
## [13]  0.46  0.88  1.30
MC1<-round((Li1+Ls1)/2,2)
MC1
##  [1] -4.77 -4.35 -3.93 -3.52 -3.10 -2.68 -2.26 -1.84 -1.42 -1.00 -0.58 -0.16
## [13]  0.25  0.67  1.09
ni1<- numeric(length(Li1))
for (i in 1:length(Li1)) {
  if (i < length(Li1)) {
    ni1[i] <- sum(Latitud_correcta >= Li1[i] & Latitud_correcta < Ls1[i])
  } else {
    ni1[i] <- sum(Latitud_correcta >= Li1[i] & Latitud_correcta <= Ls1[i])
  }
}
intervalos <- cut(Latitud_correcta, breaks = c(Li1, max(Latitud_correcta)), include.lowest = TRUE, right = TRUE)
ni1 <- table(intervalos)
sum(ni1)
## [1] 22476
hi1<- ni1/sum(ni1)*100
sum(hi1)
## [1] 100
Ni1_asc <- cumsum(ni1)
Ni1_dsc <- rev(cumsum(rev(ni1)))
Hi1_asc <- round(cumsum(hi1), 2)
Hi1_dsc <- round(rev(cumsum(rev(hi1))), 2)
TDFLatitud <-data.frame(Li1, Ls1, MC1, ni1, hi1, Ni1_asc, Ni1_dsc, Hi1_dsc, Hi1_dsc)
TDFLatitud
##                 Li1   Ls1   MC1    intervalos Freq  intervalos.1     Freq.1
## [-4.98,-4.56] -4.98 -4.56 -4.77 [-4.98,-4.56]   89 [-4.98,-4.56]  0.3959779
## (-4.56,-4.14] -4.56 -4.14 -4.35 (-4.56,-4.14]  993 (-4.56,-4.14]  4.4180459
## (-4.14,-3.72] -4.14 -3.72 -3.93 (-4.14,-3.72] 1252 (-4.14,-3.72]  5.5703862
## (-3.72,-3.31] -3.72 -3.31 -3.52 (-3.72,-3.31]  269 (-3.72,-3.31]  1.1968322
## (-3.31,-2.89] -3.31 -2.89 -3.10 (-3.31,-2.89]  108 (-3.31,-2.89]  0.4805125
## (-2.89,-2.47] -2.89 -2.47 -2.68 (-2.89,-2.47]  306 (-2.89,-2.47]  1.3614522
## (-2.47,-2.05] -2.47 -2.05 -2.26 (-2.47,-2.05] 1665 (-2.47,-2.05]  7.4079018
## (-2.05,-1.63] -2.05 -1.63 -1.84 (-2.05,-1.63] 6301 (-2.05,-1.63] 28.0343477
## (-1.63,-1.21] -1.63 -1.21 -1.42 (-1.63,-1.21] 4733 (-1.63,-1.21] 21.0580174
## (-1.21,-0.79] -1.21 -0.79 -1.00 (-1.21,-0.79] 2612 (-1.21,-0.79] 11.6212849
## (-0.79,-0.37] -0.79 -0.37 -0.58 (-0.79,-0.37] 1799 (-0.79,-0.37]  8.0040933
## (-0.37,0.04]  -0.37  0.04 -0.16  (-0.37,0.04] 1561  (-0.37,0.04]  6.9451860
## (0.04,0.46]    0.04  0.46  0.25   (0.04,0.46]  472   (0.04,0.46]  2.1000178
## (0.46,0.88]    0.46  0.88  0.67   (0.46,0.88]  211   (0.46,0.88]  0.9387791
## (0.88,1.3]     0.88  1.30  1.09    (0.88,1.3]  105    (0.88,1.3]  0.4671650
##               Ni1_asc Ni1_dsc Hi1_dsc Hi1_dsc.1
## [-4.98,-4.56]      89   22476  100.00    100.00
## (-4.56,-4.14]    1082   22387   99.60     99.60
## (-4.14,-3.72]    2334   21394   95.19     95.19
## (-3.72,-3.31]    2603   20142   89.62     89.62
## (-3.31,-2.89]    2711   19873   88.42     88.42
## (-2.89,-2.47]    3017   19765   87.94     87.94
## (-2.47,-2.05]    4682   19459   86.58     86.58
## (-2.05,-1.63]   10983   17794   79.17     79.17
## (-1.63,-1.21]   15716   11493   51.13     51.13
## (-1.21,-0.79]   18328    6760   30.08     30.08
## (-0.79,-0.37]   20127    4148   18.46     18.46
## (-0.37,0.04]    21688    2349   10.45     10.45
## (0.04,0.46]     22160     788    3.51      3.51
## (0.46,0.88]     22371     316    1.41      1.41
## (0.88,1.3]      22476     105    0.47      0.47
total_ni1 <- sum(ni1)
total_hi1 <- 100

# Generación de tabla con columnas correctamente nombradas
TDFLatitud <- data.frame(
  Li1 = Li1,
  Ls1 = Ls1,
  MC1 = MC1,
  ni1 = as.numeric(ni1),
  hi1 = as.numeric(hi1),
  Ni1_asc = as.numeric(Ni1_asc),
  Ni1_dsc = as.numeric(Ni1_dsc),
  Hi1_asc = as.numeric(Hi1_asc),
  Hi1_dsc = as.numeric(Hi1_dsc)
)

# Crear fila "Total" con mismos tipos
fila_total1 <- data.frame(
  Li1 = "Total",
  Ls1 = " ",
  MC1 = " ",
  ni1 = sum(ni1),
  hi1 = 100,
  Ni1_asc = " ",
  Ni1_dsc = " ",
  Hi1_asc = " ",
  Hi1_dsc = " "
)
# Unir sin errores

TDFLatitudCompleto <- rbind(TDFLatitud, fila_total1)


# Crear la tabla
library(gt)
tabla_Latitud<-TDFLatitudCompleto %>%
  gt() %>%
  tab_header(
    title = md("**Tabla Nro. 11**"),
    subtitle = md("**Tabla de distribución de Frecuencias simples y acumuladas

de la Latitud de los Focos de calor**")
    
  ) %>%
  tab_source_note(
    source_note = md("*Autor:Grupo1*")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    table.border.top.style = "solid",
    table.border.bottom.style = "solid",
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    row.striping.include_table_body = TRUE,
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black"
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(
      rows = Li1 == "Total"
    )
  )
tabla_Latitud
Tabla Nro. 11
**Tabla de distribución de Frecuencias simples y acumuladas

de la Latitud de los Focos de calor**

Li1 Ls1 MC1 ni1 hi1 Ni1_asc Ni1_dsc Hi1_asc Hi1_dsc
-4.98 -4.56 -4.77 89 0.3959779 89 22476 0.4 100
-4.56 -4.14 -4.35 993 4.4180459 1082 22387 4.81 99.6
-4.14 -3.72 -3.93 1252 5.5703862 2334 21394 10.38 95.19
-3.72 -3.31 -3.52 269 1.1968322 2603 20142 11.58 89.62
-3.31 -2.89 -3.1 108 0.4805125 2711 19873 12.06 88.42
-2.89 -2.47 -2.68 306 1.3614522 3017 19765 13.42 87.94
-2.47 -2.05 -2.26 1665 7.4079018 4682 19459 20.83 86.58
-2.05 -1.63 -1.84 6301 28.0343477 10983 17794 48.87 79.17
-1.63 -1.21 -1.42 4733 21.0580174 15716 11493 69.92 51.13
-1.21 -0.79 -1 2612 11.6212849 18328 6760 81.54 30.08
-0.79 -0.37 -0.58 1799 8.0040933 20127 4148 89.55 18.46
-0.37 0.04 -0.16 1561 6.9451860 21688 2349 96.49 10.45
0.04 0.46 0.25 472 2.1000178 22160 788 98.59 3.51
0.46 0.88 0.67 211 0.9387791 22371 316 99.53 1.41
0.88 1.3 1.09 105 0.4671650 22476 105 100 0.47
Total 22476 100.0000000
Autor:Grupo1
#Graficas
#HISTOGRAMA LOCAL ni
HistogramaSturgers <- hist(
  Latitud_correcta,
  main = "Gráfica No 11.1: Distribución de Latitud",
  ylab = "Cantidad",
  xlab = "Latitud",
  breaks = seq(from = min(Latitud_correcta), to = max(Latitud_correcta) + A2, by = A2),
  col = "orange"
)

#HISTOGRAMA GLOBAL ni
HistogramaSturgers<-hist(Latitud_correcta, main="Gráfica No 11.2: Distribución de Latitud ",
                         
                         ylab="Cantidad", xlab="Latitud"
                         ,breaks = seq(from = min(Latitud_correcta), to = max(Latitud_correcta) + A2, by = A2), col="orange",
                         ylim=c(0,length(Latitud_correcta)))

#HISTOGRAMA LOCAL hi
barplot(TDFLatitud$hi1, space=0, main="Gráfica No 11.3: Distribución de Latitud", ylab="Porcentaje (%)", xlab="Latitud",
        col="orange", names.arg = TDFLatitud$MC1,2)

#HISTOGRAMA GLOBAL hi
barplot(TDFLatitud$hi1, space=0, main="Gráfica No 11.4: Distribución de Latitud",
        ylab="Porcentaje (%)", xlab="Latitud",
        col="orange", names.arg = TDFLatitud$MC1,2, ylim=c(0,100))

#ojivas Niasc_dsc-Hiasc_dsc
#Graficar la ojiva (Ni_asc/dsc)
x1_min <- min(c(Li1, Ls1))
x1_max <- max(c(Li1, Ls1))

plot(Ls1, Ni1_asc, type="o", xlim=c(x1_min, x1_max), xlab="Latitud",
     main="Gráfica No 11.5: Ojivas Ascendentes y Descendentes de Frecuencias Absolutas de Latitud",
     ylab="Frecuencia", col="red")

lines(Li1, Ni1_dsc, col="blue", type="o")

#Graficar la ojiva (Hi_asc/dsc)

plot(Ls1, Hi1_asc, type="o", xlim=c(x1_min, x1_max), xlab="Latitud",
     main="Gráfica No 11.6: Ojivas Ascendentes y Descendentes de
Frecuencias Relativas de Latitud "
     , ylab="Frecuencia", col="red")
lines(Li1, Hi1_dsc, col="blue", type="o")

cajaBigotes<-boxplot(Latitud_correcta, horizontal=T, col="brown",
                     
                     main="Gráfica No 11.7: Distribución de frecuencia para la Latitud", xlab="Latitud")

#INDICADORES
#POSICION
#MEDIA ARITMETICA
x1<-sum(Latitud_correcta)/(length(Latitud_correcta))
x1
## [1] -1.677692
#MEDIANA
Me1<-median(MC1)
Me1
## [1] -1.84
#MODA
modal_index1 <- which.max(ni1)
modal_index1
## (-2.05,-1.63] 
##             8
#DISPERSION
#DESVIACIÓN ESTÁNDAR
sd1<-sd(Latitud_correcta)
sd1
## [1] 1.107135
#COEFICIENTE DE VARIACIÓN
CV1 <- ((sd1 / x1) * 100)
CV1
## [1] -65.99155
#FORMA
#COEFICIENTE DE ASIMETRÍA
#install.packages("e1071")
library(e1071)
## Warning: package ’e1071’ was built under R version 4.4.3
As1<-skewness(Latitud_correcta)
As1
## [1] -0.6853482
## [1] -1.386749
#COEFICIENTE DE CURTOSIS
K1<-kurtosis(Latitud_correcta)
K1
## [1] 0.6528172
#outliers
outliers1<-cajaBigotes$out
min(outliers1)
## [1] -4.98
12
## [1] 12
max(outliers1)
## [1] 1.3
length(outliers1)
## [1] 2938