# 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