#Variable longitud
datos <- read.csv2("IC.csv")
longitud <- as.numeric(datos$long)
##Histograma original
h <- hist(longitud,main= "Gráfica N°3: Histograma de longitud de las zonas 
          de indencios en Chile", ylab = "Frecuencia",
          xlab = "Longitud (°)")

#### Histograma en intervalos
histlong <- hist(longitud, breaks = 4, main= "Gráfica N°3.1: Histograma de intervalos de longitud de las zonas 
                   de indencios en Chile", ylab = "Frecuencia",
                 xlab = "Longitud (°)")

##titulo
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")

text(x = 1, y = 1, 
     labels = "ESTADÍSTICA INFERENCIAL",
     cex = 2,  
     col = "blue",  
     font = 6) 

##Densidad de probabilidad
hlongitud <- hist(longitud, breaks = 4, freq = FALSE, main = "Gráfica N°3.2: Modelo normal de la variable longitud 
                          de los indencios en Chile",
                  ylab = "Densidad de probabilidad",
                  xlab = "Longitud (°) ",
                  col = "brown") 

##Parametros modelo normal
u <- mean(longitud)
sigma <- sd(longitud)
## curva del modelo 
curve(dnorm(x,u,sigma), col="black", add = TRUE)

##Test de bondad
###pearson###
Fo <- hlongitud$counts
P <- c()
liminf <- hlongitud$breaks[1:5]
limsup <- hlongitud$breaks[2:6]
for (i in 1:length(hlongitud$counts)) {
  P[i] <- pnorm(limsup[i],u,sigma)-pnorm(liminf[i],u,sigma)
  
}
P
## [1] 0.036329092 0.346751163 0.500637160 0.112180927 0.003569948
Fe <- P*length(CO2)
Fe
## [1] 0.18164546 1.73375582 2.50318580 0.56090464 0.01784974
cor(Fo,Fe)
## [1] 0.9867474
#####Valor critico (chi cuadrado) 
X2 <- sum(((Fo-Fe)^2)/Fe)
X2
## [1] 5622897
VC <- qchisq(0.99,4)
VC
## [1] 13.2767
X2>VC
## [1] TRUE
######### alternativa para que chi 2 pueda aprobar tomando en cuenta  que en la avtualidad existen muchisimos datos y el error sigue aumentando con chi cuadrado
###FO RELATIVA
Fore <- hlongitud$counts/length(longitud)
sum(Fore)
## [1] 1
###FE RELATIVA
P <- c()
liminf <- hlongitud$breaks[1:5]
limsup <- hlongitud$breaks[2:6]
for (i in 1:length(hlongitud$counts)) {
  P[i] <- pnorm(limsup[i],u,sigma)-pnorm(liminf[i],u,sigma)
  
}
Fere <-P    ###### si no cumple se borra el *100 y solo se deja solo P
####correlacion lienal
cor(Fore,Fere)
## [1] 0.9867474
#####Valor critico (chi cuadrado) 
X2 <- sum(((Fore-Fere)^2)/Fere)
X2
## [1] 0.02765042
###valor critico 
VC <- qchisq(0.95,4)
X2>VC
## [1] FALSE
###Calculo de probabilidad
# Cálculo de probabilidad
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un gráfico vacío
text(x = 1, y = 1, 
     labels = "Cálculos de probabilidad\n(Estimación general)\n
     ¿Cuál es la probabilidad de que\nel valor de la longitud \n esté entre 100000 y 300000 (°) ?\n\n
     R: 84.73 (%)",
     cex = 1.5,  
     col = "blue",  
     font =6) 

P1 <- (pnorm(300000,u,sigma)-pnorm(100000,u,sigma))*100
P1
## [1] 84.73883
##Area bajo la curva de la probabilidad
x <- seq(min(longitud), max(longitud), 0.01)

plot(x, dnorm(x, u, sigma), type = "l", col = "red", lwd = 2, 
     main = "Gráfica N°3.3: Modelo normal de probabilidad en el 
     análisis de la longitud de las areas de los incendios en Chile", 
     xlab = "Longitud", 
     ylab = "Densidad de probabilidad",
     xaxt = "n")
x_area <- seq(100000, 300000, length.out = 100)
polygon(c(100000, x_area, 300000), 
        c(0, dnorm(x_area, mean = u, sd = sigma), 0), 
        col = rgb(0, 0, 1, alpha = 0.3), 
        border = NA)
axis(1, at = c(0,100000,300000,400000), labels = c("0","100000", "300000", "500000"))

legend("topright", legend = c("Modelo normal", "Área bajo la curva entre 100000 y 300000"), 
       col = c("red", rgb(0, 0, 1, alpha = 0.3)), lty = 1, lwd = 2, cex= 0.8)

# Estimación por intervalos de confianza 

# Cálculos
limite_inf <- mean(longitud)-(2*(sd(longitud)/sqrt(length(longitud))))
limite_inf
## [1] 217983.7
limite_sup <- mean(longitud) + (2*(sd(longitud)/sqrt(length(longitud))))
limite_sup
## [1] 221688.2
# La media aritmética poblacional (u) se encuentra,
# con un 95 % de confianza, entre
# 217983,7 (°) y 221688.2 (°)
tabla_modelos_1 <- data.frame("Longitud" = c("[85984  ,4476719]", ""),
                              "Modelo" = c("normal", ""),
                              "Parametros" = c("Media = 219835.96", "Sd=67002.97"),
                              "Test_de_Pearson" = c("0.95", ""),
                              "Test_de_Chi_cuadrado" = c("Aprobado", ""))
colnames(tabla_modelos_1) <- c("Longitud(°)", "Modelo",
                               "Parámetros","Test Pearson",
                               "Test Chi-cuadrado")

tabla_intervalos <- data.frame("Intervalo_Confianza" = c("Límite Inferior", "Límite Superior"),
                               "Grado_Confianza"=c("95 %",""),"Longitud (°)"=c("217983.7 ", "221688.2"))
colnames(tabla_intervalos) <- c("Intervalo de Confianza","Grado Confianza (%)", "Longitd(°)")
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un gráfico vacío
text(x = 1, y = 1, 
     labels = "CONCLUSIONES",
     cex = 2,  # Tamaño del texto (ajustable)
     col = "blue",  # Color del texto
     font = 6) #tipo

library(knitr)
kable(tabla_modelos_1, align = 'c',
      caption = "Conclusiones del Modelo Normal para Longitud (°)")
Conclusiones del Modelo Normal para Longitud (°)
Longitud(°) Modelo Parámetros Test Pearson Test Chi-cuadrado
[85984 ,4476719] normal Media = 219835.96 0.95 Aprobado
Sd=67002.97
kable(tabla_intervalos, align = 'c',
      caption = "Intervalos de Confianza de la Media Poblacional")
Intervalos de Confianza de la Media Poblacional
Intervalo de Confianza Grado Confianza (%) Longitd(°)
Límite Inferior 95 % 217983.7
Límite Superior 221688.2