1 INTRODUCCIÓN

1.1 Planteamiento del problema

El clima es un factor determinante en el equilibrio ambiental y en la disponibilidad de recursos naturales, especialmente en zonas andinas, donde pequeñas variaciones atmosféricas pueden generar impactos significativos. En este contexto, la estadística juega un papel fundamental, ya que permite el análisis, la interpretación y la comprensión de datos climáticos, facilitando la identificación de patrones, variabilidad y posibles tendencias asociadas al cambio climático. El volcán Antisana, ubicado en la cordillera Oriental del Ecuador, constituye un área de estudio de gran interés debido a las características climáticas propias de los ecosistemas de alta montaña. Este estudio busca evaluar datos climáticos con el fin de comprender el comportamiento del clima en el volcán Antisana y generar información útil para la toma de decisiones ambientales.

1.2 Mapa de ubicación

library(magick)
library(cowplot)
# Leer la imagen
img <- image_read("C:/Users/Personal/Documents/Mapa Antisana.png")
# Dibujarla en el lienzo
ggdraw() + draw_image(img)

1.3 Objetivos

1.3.1 General

Analizar estadísticamente el comportamiento del clima en el volcán Antisana, mediante el uso de herramientas computacionales adecuadas para la medición de variables.

1.3.2 EspecÍficos

1.Conocer la situación en 2012 sobre el comportamiento del clima en el volcán Antisana a través de sus características más importantes y medidas estadísticas.

2.Emplear modelos de probabilidad para establecer conclusiones sobre el comportamiento del clima en el volcán Antisana a partir de los resultados de la muestra.

3.Deducir relaciones entre variables del clima en el volcán Antisana con el fin de realizar estimaciones sobre el estudio.

2 ESTADISTÍCA DESCRIPTIVA

2.1 Población

Todos las observaciones climáticas en el volcán Antisana

U: {x/x 𝜖 Observaciones climáticas ^ Volcán(x)=“Antisana”}.

2.2 Individuo

Cada uno de las observaciones climáticas en el volcán Antisana

Individuo: Xi: i=1,2,3,…,n

2.3 Muestra

Los datos disponibles corresponden a una muestra compuesta por un conjunto de observaciones climáticas en el volcán Antisana, teniendo un total de 366 observaciones, correspondientes al año 2012.

M: {x/x Observaciones climáticas ^ Volcán (x)=“Antisana” ^ Año(x) = 2012}.

2.4 Tabla de variables

A continuación se presenta la tabla de variables analizadas en el estudio:

https://docs.google.com/spreadsheets/d/1sDj5gZQxDXOqIxOXKRoO2S--o96_vmbO/edit?usp=sharing&ouid=110839413546707398152&rtpof=true&sd=true

2.5 Variables

2.5.1 Meses

library(lubridate)
library(gt)
library(dplyr)
# Carga de datos 
datos<-read.csv("ANTISANA.csv", header = TRUE, dec = ".",
                sep = ",")
# Extracción de la variable
# Convertir a fecha
datos$Date <- as.Date(datos$Date, format = "%d/%m/%Y")

# Extraer mes numérico (366 valores)
datos$mes <- month(datos$Date)

# Nombres de meses (12 valores)
meses_12 <- c("enero", "febrero", "marzo", "abril", "mayo", "junio",
              "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre")

# Mes en palabras (366 valores)
datos$mes_nombre <- meses_12[datos$mes]
meses <- meses_12[datos$mes]
orden_meses <- c("enero", "febrero", "marzo", "abril", "mayo", "junio",
                 "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre")
meses <- factor(meses, levels = orden_meses, ordered = TRUE)

#TDF variable meses
TDF_meses<-data.frame(table(meses))
ni <- TDF_meses$Freq
hi <- round((ni / sum(ni)) * 100, 2)
meses <- TDF_meses$meses
TDF_meses <- data.frame(meses, ni, hi)
Summary <- data.frame(meses = "TOTAL", ni = sum(ni),hi = 100)
TDF_meses<- rbind(TDF_meses,Summary)
colnames(TDF_meses) <- c("Meses", "ni", "hi(%)")


# TABLA CREACIÓN
TDF_meses %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia de los meses en el estudios del clima en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia de los meses en el estudios del clima en el volcán Antisana en 2012 **
Meses ni hi(%)
enero 31 8.47
febrero 29 7.92
marzo 31 8.47
abril 30 8.20
mayo 31 8.47
junio 30 8.20
julio 31 8.47
agosto 31 8.47
septiembre 30 8.20
octubre 31 8.47
noviembre 30 8.20
diciembre 31 8.47
TOTAL 366 100.00
Autor: Lorien Arcentales
# Gráfica de distribución de frecuencia 
#Diagrama de barras local
# Excluir la fila TOTAL
TablaPlot <- TDF_meses[TDF_meses$Meses != "TOTAL", ]
barplot(
  TablaPlot$ni,
  names.arg = TablaPlot$Meses,
  main = "Grafica Nro 1: Distribución de los meses en el estudio del clima en 
  el volcán Antisana en 2012",
  xlab = "Meses",
  ylab = "Cantidad",
  col = c("lightpink"),
  ylim = c(0,40),
  las = 2,
  cex.axis = 0.7,
  cex.names = 0.8,
  cex.main = 0.7
)

# Diagrama de barras global
barplot(TablaPlot$ni, main = "Gráfica N°2: Distribución de los meses en el estudio del clima en 
  el volcán Antisana en 2012 
        ",
        xlab = "Meses",
        ylab = "Cantidad",
        col = "lightpink",
        ylim = c(0,366),
        las=2,
        cex.names = 0.8,
        cex.main = 0.9,
        cex.axis = 0.8,
        names.arg = TablaPlot$Meses)

#Grafica porcentaje
barplot(TablaPlot$`hi(%)`, main = "Gráfica N°3: Distribución de los meses en el estudio del clima en 
  el volcán Antisana en 2012 ",
        xlab = "Meses",
        ylab = "Porcentaje (%)",
        col = "pink",
        ylim = c(0,10),
        las = 2,
        cex.names = 0.8,
        cex.main = 0.9,
        cex.axis = 0.9,
        names.arg = TablaPlot$Meses)

#Siguientes graficas
barplot(TablaPlot$`hi(%)`,
        main="Gráfica No. 4:
        Distribución de los meses en el estudio del clima en 
  el volcán Antisana en 2012 ",
        xlab= "Meses",
        ylab="Porcentaje (%)",
        names.arg= TablaPlot$Meses,
        col = "pink",
        cex.names = 0.7,
        las=2,
        cex.main = 0.9,
        cex.axis = 0.8,
        ylim=c(0,100))

#Diagrama Circular 
library(RColorBrewer)
n <- nrow(TablaPlot)
colores <- brewer.pal(min(n, 12), "Set3") 
color <- adjustcolor(colores, alpha.f = 0.9)
etiqueta<-paste(TablaPlot$`hi(%)`,"%")

pie(TablaPlot$`hi(%)`,
    labels = etiqueta,
    cex.main = 0.9,
    radius = 1,
    col=color,
    main="Gráfica No.5: Distribución de los meses en el estudio del clima en 
  el volcán Antisana en 2012 ")

legend("bottomright",
       legend = TablaPlot$Meses,
       title = "Leyenda",
       cex = 0.7,
       fill = color)

# Indicadores estadísticos
Variable <- "Meses"
Rango <- "R= {Enero,Febrero,Marzo,Abril,
Mayo,Junio,Julio,Agosto,Septiembre,
Octubre,Noviembre,Diciembre}"

# Mediana
Me<-"Junio, Julio"

# Media
X <- "-"
# Moda
Mo <- "[enero,marzo, mayo, julio, agosto, octubre, diciembre]"

#Indicadores de Dispersión

# Varianza
var<-"-"
# Desviación estandar
desv<-"-"

# Coeficiente de variación 
CV <- "-"

#Indicadores de Forma

# Coeficiente de Asimetría
As <-"-"
# Curtosis
K <- "-"
Tabla_indicadores <- data.frame(Variable,Rango,X,Me,Mo,var,desv,CV,As,K)
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","Var",
                                 "sd","CV","As","K")

library(gt)
library(dplyr)
Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("**Indicadores Estadísticos de los meses en el estudio del clma en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
**Indicadores Estadísticos de los meses en el estudio del clma en el volcán Antisana en 2012 **
Variable Rango X Me Mo Var sd CV As K
Meses R= {Enero,Febrero,Marzo,Abril, Mayo,Junio,Julio,Agosto,Septiembre, Octubre,Noviembre,Diciembre} - Junio, Julio [enero,marzo, mayo, julio, agosto, octubre, diciembre] - - - - -
Autor: Lorien Arcentales

2.5.2 Temperatura máxima

#Carga de paquetes
library(gt)
library(dplyr)
# Carga de datos 
datos<-read.csv("ANTISANA.csv", header = TRUE, dec = ".",
                sep = ",")
# Extracción de la variable
temperatura_máxima<-datos$Max.Temperature
# TDF simplificada
Histograma_temperatura_máxima<-hist(temperatura_máxima,plot = FALSE)
breaks <- Histograma_temperatura_máxima$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
MC<-(Li+Ls)/2
ni<-Histograma_temperatura_máxima$counts
n<-length(temperatura_máxima)
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni) 
Hi_asc <- cumsum(hi) 
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_temperaturamax <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  MC = round(MC, 2),
  ni = ni,
  hi= round(hi, 2),
  Ni_ascendente = Ni_asc,
  Hi_ascendente = round(Hi_asc, 2),
  Ni_descendente = Ni_desc,
  Hi_descendente = round(Hi_desc, 2)
)
colnames(TDF_temperaturamax) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  MC = "-",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi),            # suma total de hi (%)
  Ni_ascendente = "-",
  Ni_descendente = "-",
  Hi_ascendente = "-",
  Hi_descendente = "-"
)
colnames(totaless) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
# Agregar al final de la tabla
TDF_temperaturamax <- rbind(TDF_temperaturamax, totaless)
TDF_temperaturamax %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la temperatura máxina,estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la temperatura máxina,estudio del clima volcán Antisana en 2012 **
Intervalo MC ni hi(%) Ni_asc Hi_asc (%) Ni_desc Hi_desc (%)
[10 - 11) 10.5 7 1.91 7 1.91 366 100
[11 - 12) 11.5 23 6.28 30 8.2 359 98.09
[12 - 13) 12.5 41 11.20 71 19.4 336 91.8
[13 - 14) 13.5 53 14.48 124 33.88 295 80.6
[14 - 15) 14.5 37 10.11 161 43.99 242 66.12
[15 - 16) 15.5 41 11.20 202 55.19 205 56.01
[16 - 17) 16.5 40 10.93 242 66.12 164 44.81
[17 - 18) 17.5 42 11.48 284 77.6 124 33.88
[18 - 19) 18.5 29 7.92 313 85.52 82 22.4
[19 - 20) 19.5 21 5.74 334 91.26 53 14.48
[20 - 21) 20.5 16 4.37 350 95.63 32 8.74
[21 - 22) 21.5 9 2.46 359 98.09 16 4.37
[22 - 23) 22.5 4 1.09 363 99.18 7 1.91
[23 - 24) 23.5 3 0.82 366 100 3 0.82
Totales - 366 100.00 - - - -
Autor: Lorien Arcentales
#Gráficas 
#Histogramas local
hist(temperatura_máxima, breaks = 15,
     main = "Gráfica N°1: Distribución de la temperatura máxima
     presente en el estudio del clima en el volcán Antisana en 2012",
     xlab = " Temperatura máxima (°C)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "red",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_temperatura_máxima$breaks,
     labels = Histograma_temperatura_máxima$breaks, las = 1,
     cex.axis = 0.9)

#Histograma global
hist(temperatura_máxima, breaks = 15,
     main = "Gráfica N°2:Distribución de la temperatura máxima
     presente en el estudio del clima en el volcán Antisana en 2012 ",
     xlab = "Temperatura máxima (°C)",
     ylab = "Cantidad",
     ylim = c(0, length(temperatura_máxima)),
     col = "red",
     cex.main = 1,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_temperatura_máxima$breaks,
     labels = Histograma_temperatura_máxima$breaks, las = 1,
     cex.axis = 0.9)

#Histograma porcentual global
TDF_temperaturamax$`hi (%)` <- as.numeric(TDF_temperaturamax$`hi(%)`)

post<-barplot(TDF_temperaturamax$`hi(%)`[1:(nrow(TDF_temperaturamax)-1)],
              space = 0,
              col = "red",
              main = "Gráfica N°3:Distribución de la temperatura máxima
     presente en el estudio del clima en el volcán Antisana en 2012",
              xlab = "Temperatua máxima (°C)",
              ylab = "Porcentaje (%)",
              names.arg = TDF_temperaturamax$MC[1:(nrow(TDF_temperaturamax)-1)],
              ylim = c(0,100))
axis(side = 1,
     at = post,
     labels = TDF_temperaturamax$MC[1:(nrow(TDF_temperaturamax)-1)],
     tck = -0.02)

#Histograma porcentual local
n <- as.numeric(nrow(TDF_temperaturamax))
pos<-barplot(
  TDF_temperaturamax$`hi(%)`[1:(n-1)],
  space = 0,
  main = "Gráfica No. 4:Distribución de la temperatura máxima
     presente en el estudio del clima en el volcán Antisana en 2012",
  ylab = "Porcentaje (%)",
  xlab = "Temperatura máxima (°C)",
  names.arg = TDF_temperaturamax$MC[1:(n-1)],
  col = "red"
)
axis(side = 1,
     at = pos,
     labels = TDF_temperaturamax$MC[1:(nrow(TDF_temperaturamax)-1)],
     tck = -0.04,   # controla la longitud de la rayita
     las = 1)       # rota las etiquetas si quieres verticales

#Box plot
Cajaozono<-boxplot(temperatura_máxima, horizontal = T,col = "orange", border = "black",
                   main= "Gráfica No. 5: Distribución de la temperatura máxima
     presente en el estudio del clima en el volcán Antisana en 2012",
                   xlab=" Temperatura máxima (°C)")

# Ojiva ascendente
plot(Ls, Ni_asc, type = "b", main = "Gráfica N°6:Ojiva ascendente y descendente de la 
     distribución de la temperatura máxima",
     xlab = " Temperatura máxima (°C)",
     ylab = "Cantidad", pch = 19,col="red", 
     ylim = c(0, max(c(Ni_asc, Ni_desc))))

# Ojiva descendente
lines(Li, Ni_desc, type = "b", col = "blue", pch = 19)  # agrega en rojo

# Ojiva ascendente
plot(Ls, Hi_asc,
     type = "b",
     main = " Gráfica N°7:Ojiva ascendete y descendete de la distribución
     de temperatura máxima",
     xlab = " Temperatura máxima(°C)",
     ylab = "Porcentaje %",
     col="red",
     pch = 19)

# Ojiva descendente
lines(Li, Hi_desc,
      type = "b",
      col = "blue",
      pch = 19)

#INDICADORES

#Indicadores de Tendencia Central

# Mediana
Me <- median(temperatura_máxima)
Me
## [1] 15.51
# Media
X <- mean(temperatura_máxima)
X
## [1] 15.74049
# Moda
Mo <- "[13,14]"
Mo
## [1] "[13,14]"
#Indicadores de Dispersión

# Varianza
var(temperatura_máxima)
## [1] 8.222732
# Desviación estandar
desv<-round(sd(temperatura_máxima), 2)

# Coeficiente de variación 
CV <- (sd(temperatura_máxima)/X)*100
CV
## [1] 18.21754
#Indicadores de Forma

# Coeficiente de Asimetría
library(e1071)
As <- skewness(temperatura_máxima)
As
## [1] 0.3873588
# Curtosis
K <- kurtosis(temperatura_máxima)
K
## [1] -0.5581832
Variable <- "Temperatura máxima"
Rango <- "[10.32,23.79]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(desv,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")

  Tabla_indicadores %>%
    gt() %>%
    tab_header(
      title = md("*Tabla Nro. 2*"),
      subtitle = md("** Indicadores estadísticos de la temperatura máxima estudio del clima en el volcán Antisana en 2012**")
    ) %>%
    tab_source_note(
      source_note = md("Autor: Lorien Arcentales")
    ) %>%
    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"
    )
Tabla Nro. 2
** Indicadores estadísticos de la temperatura máxima estudio del clima en el volcán Antisana en 2012**
Variable Rango X Me Mo sd CV As K
Temperatura máxima [10.32,23.79] 15.74 15.51 [13,14] 2.87 18.22 0.39 -0.56
Autor: Lorien Arcentales

2.5.3 Temperatura mínima

# Extracción de la variable
temperatura_mínima<-datos$Min.Temperature
# TDF simplificada
Histograma_temperatura_mínima<-hist(temperatura_mínima,plot=FALSE)
breaks <- Histograma_temperatura_mínima$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
MC<-(Li+Ls)/2
ni<-Histograma_temperatura_mínima$counts
n<-length(temperatura_mínima)
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni) 
Hi_asc <- cumsum(hi) 
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_temperaturamin <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  MC = round(MC, 2),
  ni = ni,
  hi= round(hi, 2),
  Ni_ascendente = Ni_asc,
  Hi_ascendente = round(Hi_asc, 2),
  Ni_descendente = Ni_desc,
  Hi_descendente = round(Hi_desc, 2)
)
colnames(TDF_temperaturamin) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  MC = "-",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi),            # suma total de hi (%)
  Ni_ascendente = "-",
  Ni_descendente = "-",
  Hi_ascendente = "-",
  Hi_descendente = "-"
)
colnames(totaless) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
# Agregar al final de la tabla
TDF_temperaturamin <- rbind(TDF_temperaturamin, totaless)
TDF_temperaturamin %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la temperatura mínima,estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la temperatura mínima,estudio del clima volcán Antisana en 2012 **
Intervalo MC ni hi(%) Ni_asc Hi_asc (%) Ni_desc Hi_desc (%)
[2 - 3) 2.5 1 0.27 1 0.27 366 100
[3 - 4) 3.5 2 0.55 3 0.82 365 99.73
[4 - 5) 4.5 7 1.91 10 2.73 363 99.18
[5 - 6) 5.5 16 4.37 26 7.1 356 97.27
[6 - 7) 6.5 48 13.11 74 20.22 340 92.9
[7 - 8) 7.5 109 29.78 183 50 292 79.78
[8 - 9) 8.5 90 24.59 273 74.59 183 50
[9 - 10) 9.5 66 18.03 339 92.62 93 25.41
[10 - 11) 10.5 27 7.38 366 100 27 7.38
Totales - 366 100.00 - - - -
Autor: Lorien Arcentales
#Gráficas 
#Histogramas local
hist(temperatura_mínima, breaks = 10,
     main = "Gráfica N°1: Distribución de la temperatura mínima
     presente en el estudio del clima en el volcán Antisana en 2012",
     xlab = " Temperatura mínima (°C)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "orange",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_temperatura_mínima$breaks,
     labels = Histograma_temperatura_mínima$breaks, las = 1,
     cex.axis = 0.9)

#Histograma global
hist(temperatura_mínima, breaks = 10,
     main = "Gráfica N°2:Distribución de la temperatura mínima
     presente en el estudio del clima en el volcán Antisana en 2012 ",
     xlab = "Temperatura mínima (°C)",
     ylab = "Cantidad",
     ylim = c(0, length(temperatura_mínima)),
     col = "orange",
     cex.main = 1,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_temperatura_mínima$breaks,
     labels = Histograma_temperatura_mínima$breaks, las = 1,
     cex.axis = 0.9)

#Histograma porcentual global
TDF_temperaturamin$`hi (%)` <- as.numeric(TDF_temperaturamin$`hi(%)`)

post<-barplot(TDF_temperaturamin$`hi(%)`[1:(nrow(TDF_temperaturamin)-1)],
              space = 0,
              col = "orange",
              main = "Gráfica N°3:Distribución de la temperatura mínima
     presente en el estudio del clima en el volcán Antisana en 2012",
              xlab = "Temperatua mínima (°C)",
              ylab = "Porcentaje (%)",
              names.arg = TDF_temperaturamin$MC[1:(nrow(TDF_temperaturamin)-1)],
              ylim = c(0,100))
axis(side = 1,
     at = post,
     labels = TDF_temperaturamin$MC[1:(nrow(TDF_temperaturamin)-1)],
     tck = -0.02)

#Histograma porcentual local
n <- as.numeric(nrow(TDF_temperaturamin))
pos<-barplot(
  TDF_temperaturamin$`hi(%)`[1:(n-1)],
  space = 0,
  main = "Gráfica No. 4:Distribución de la temperatura mínima
     presente en el estudio del clima en el volcán Antisana en 2012",
  ylab = "Porcentaje (%)",
  xlab = "Temperatura mínima (°C)",
  names.arg = TDF_temperaturamin$MC[1:(n-1)],
  col = "orange"
)
axis(side = 1,
     at = pos,
     labels = TDF_temperaturamin$MC[1:(nrow(TDF_temperaturamin)-1)],
     tck = -0.04,   # controla la longitud de la rayita
     las = 1)       # rota las etiquetas si quieres verticales

#Box plot
Cajaozono<-boxplot(temperatura_máxima, horizontal = T,col = "yellow", border = "black",
                   main= "Gráfica No. 5: Distribución de la temperatura mínima
     presente en el estudio del clima en el volcán Antisana en 2012",
                   xlab=" Temperatura mínima (°C)")

# Ojiva ascendente
plot(Ls, Ni_asc, type = "b", main = "Gráfica N°6:Ojiva ascendente y descendente de la 
     distribución de la temperatura mínima",
     xlab = " Temperatura mínima (°C)",
     ylab = "Cantidad", pch = 19,col="red", 
     ylim = c(0, max(c(Ni_asc, Ni_desc))))

# Ojiva descendente
lines(Li, Ni_desc, type = "b", col = "blue", pch = 19)  # agrega en rojo

# Ojiva ascendente
plot(Ls, Hi_asc,
     type = "b",
     main = " Gráfica N°7:Ojiva ascendete y descendete de la distribución
     de temperatura mínima",
     xlab = " Temperatura mínima(°C)",
     ylab = "Porcentaje %",
     col="red",
     pch = 19)

# Ojiva descendente
lines(Li, Hi_desc,
      type = "b",
      col = "blue",
      pch = 19)

#INDICADORES

#Indicadores de Tendencia Central

# Mediana
Me <- median(temperatura_mínima)
Me
## [1] 8.005
# Media
X <- mean(temperatura_mínima)
X
## [1] 8.045847
# Moda
Mo <- "[7,8]"
Mo
## [1] "[7,8]"
#Indicadores de Dispersión

# Varianza
var(temperatura_mínima)
## [1] 1.888054
# Desviación estandar
desv<-round(sd(temperatura_mínima), 2)

# Coeficiente de variación 
CV <- (sd(temperatura_mínima)/X)*100
CV
## [1] 17.07794
#Indicadores de Forma

# Coeficiente de Asimetría
library(e1071)
As <- skewness(temperatura_mínima)
As
## [1] -0.4340818
# Curtosis
K <- kurtosis(temperatura_mínima)
K
## [1] 0.5662281
Variable <- "Temperatura mínima"
Rango <- "[2.65,10.85]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(desv,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")

Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("** Indicadores estadísticos de la temperatura mínima estudio del clima en el volcán Antisana en 2012**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
** Indicadores estadísticos de la temperatura mínima estudio del clima en el volcán Antisana en 2012**
Variable Rango X Me Mo sd CV As K
Temperatura mínima [2.65,10.85] 8.046 8.005 [7,8] 1.37 17.08 -0.43 0.57
Autor: Lorien Arcentales

2.5.4 Precipitación

# Extracción de la variable
precipitación<-datos$Precipitation
# TDF simplificada
Histograma_precipitación<-hist(precipitación,plot=FALSE)
breaks <- Histograma_precipitación$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
MC<-(Li+Ls)/2
ni<-Histograma_precipitación$counts
n<-length(precipitación)
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni) 
Hi_asc <- cumsum(hi) 
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_precipitacion <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  MC = round(MC, 2),
  ni = ni,
  hi= round(hi, 2),
  Ni_ascendente = Ni_asc,
  Hi_ascendente = round(Hi_asc, 2),
  Ni_descendente = Ni_desc,
  Hi_descendente = round(Hi_desc, 2)
)
colnames(TDF_precipitacion) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  MC = "-",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi),            # suma total de hi (%)
  Ni_ascendente = "-",
  Ni_descendente = "-",
  Hi_ascendente = "-",
  Hi_descendente = "-"
)
colnames(totaless) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
# Agregar al final de la tabla
TDF_precipitacion <- rbind(TDF_precipitacion, totaless)
TDF_precipitacion %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la precipitación, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la precipitación, estudio del clima volcán Antisana en 2012 **
Intervalo MC ni hi(%) Ni_asc Hi_asc (%) Ni_desc Hi_desc (%)
[0 - 10) 5 150 40.98 150 40.98 366 100
[10 - 20) 15 92 25.14 242 66.12 216 59.02
[20 - 30) 25 58 15.85 300 81.97 124 33.88
[30 - 40) 35 27 7.38 327 89.34 66 18.03
[40 - 50) 45 23 6.28 350 95.63 39 10.66
[50 - 60) 55 10 2.73 360 98.36 16 4.37
[60 - 70) 65 4 1.09 364 99.45 6 1.64
[70 - 80) 75 0 0.00 364 99.45 2 0.55
[80 - 90) 85 1 0.27 365 99.73 2 0.55
[90 - 100) 95 1 0.27 366 100 1 0.27
Totales - 366 100.00 - - - -
Autor: Lorien Arcentales
#Gráficas 
#Histogramas local
hist(precipitación, breaks = 11,
     main = "Gráfica N°1: Distribución de la precipitación
     presente en el estudio del clima en el volcán Antisana en 2012",
     xlab = " Precipitación (mm)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "lightblue",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_precipitación$breaks,
     labels = Histograma_precipitación$breaks, las = 1,
     cex.axis = 0.9)

#Histograma global
hist(precipitación, breaks = 11,
     main = "Gráfica N°2:Distribución de la precipitación
     presente en el estudio del clima en el volcán Antisana en 2012 ",
     xlab = "Precipitación (mm)",
     ylab = "Cantidad",
     ylim = c(0, length(precipitación)),
     col = "lightblue",
     cex.main = 1,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_precipitación$breaks,
     labels = Histograma_precipitación$breaks, las = 1,
     cex.axis = 0.9)

#Histograma porcentual global
TDF_precipitacion$`hi (%)` <- as.numeric(TDF_precipitacion$`hi(%)`)

post<-barplot(TDF_precipitacion$`hi(%)`[1:(nrow(TDF_precipitacion)-1)],
              space = 0,
              col = "lightblue",
              main = "Gráfica N°3:Distribución de la precipitación
     presente en el estudio del clima en el volcán Antisana en 2012",
              xlab = "Precipitación (mm)",
              ylab = "Porcentaje (%)",
              names.arg = TDF_precipitacion$MC[1:(nrow(TDF_precipitacion)-1)],
              ylim = c(0,100))
axis(side = 1,
     at = post,
     labels = TDF_precipitacion$MC[1:(nrow(TDF_precipitacion)-1)],
     tck = -0.02)

#Histograma porcentual local
n <- as.numeric(nrow(TDF_precipitacion))
pos<-barplot(
  TDF_precipitacion$`hi(%)`[1:(n-1)],
  space = 0,
  main = "Gráfica No. 4:Distribución de la precipitación
     presente en el estudio del clima en el volcán Antisana en 2012",
  ylab = "Porcentaje (%)",
  xlab = "Precipitación (mm)",
  names.arg = TDF_precipitacion$MC[1:(n-1)],
  col = "lightblue"
)
axis(side = 1,
     at = pos,
     labels = TDF_precipitacion$MC[1:(nrow(TDF_precipitacion)-1)],
     tck = -0.04,   # controla la longitud de la rayita
     las = 1)       # rota las etiquetas si quieres verticales

#Box plot
Cajaozono<-boxplot(precipitación, horizontal = T,col = "turquoise", border = "black",
                   main= "Gráfica No. 5: Distribución de la precipitación
     presente en el estudio del clima en el volcán Antisana en 2012",
                   xlab=" Precipitación (mm)")

# Ojiva ascendente
plot(Ls, Ni_asc, type = "b", main = "Gráfica N°6:Ojiva ascendente y descendente de la 
     distribución de la precipitación",
     xlab = " Precipitación (mm)",
     ylab = "Cantidad", pch = 19,col="red", 
     ylim = c(0, max(c(Ni_asc, Ni_desc))))

# Ojiva descendente
lines(Li, Ni_desc, type = "b", col = "blue", pch = 19)  # agrega en rojo

# Ojiva ascendente
plot(Ls, Hi_asc,
     type = "b",
     main = " Gráfica N°7:Ojiva ascendente y descendente de la distribución
     de precipitación",
     xlab = " Precipitación (mm)",
     ylab = "Porcentaje %",
     col="red",
     pch = 19)

# Ojiva descendente
lines(Li, Hi_desc,
      type = "b",
      col = "blue",
      pch = 19)

#INDICADORES

#Indicadores de Tendencia Central

# Mediana
Me <- median(precipitación)
Me
## [1] 12.94
# Media
X <- mean(precipitación)
X
## [1] 17.10478
# Moda
Mo <- "[0,10]"
Mo
## [1] "[0,10]"
#Indicadores de Dispersión

# Varianza
var(precipitación)
## [1] 259.6987
# Desviación estandar
desv<-round(sd(precipitación), 2)

# Coeficiente de variación 
CV <- (sd(precipitación)/X)*100
CV
## [1] 94.21441
#Indicadores de Forma

# Coeficiente de Asimetría
library(e1071)
As <- skewness(precipitación)
As
## [1] 1.295084
# Curtosis
K <- kurtosis(precipitación)
K
## [1] 1.951113
Variable <- "Precipitación"
Rango <- "[0.01,94.72]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(desv,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")

Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("** Indicadores estadísticos de la precipitación estudio del clima en el volcán Antisana en 2012**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
** Indicadores estadísticos de la precipitación estudio del clima en el volcán Antisana en 2012**
Variable Rango X Me Mo sd CV As K
Precipitación [0.01,94.72] 17.105 12.94 [0,10] 16.12 94.21 1.3 1.95
Autor: Lorien Arcentales

2.5.5 Viento

# Extracción de la variable
viento<-datos$Wind
# TDF simplificada
Histograma_viento<-hist(viento,plot=FALSE)
breaks <- Histograma_viento$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
MC<-(Li+Ls)/2
ni<-Histograma_viento$counts
n<-length(viento)
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni) 
Hi_asc <- cumsum(hi) 
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_viento <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  MC = round(MC, 2),
  ni = ni,
  hi= round(hi, 2),
  Ni_ascendente = Ni_asc,
  Hi_ascendente = round(Hi_asc, 2),
  Ni_descendente = Ni_desc,
  Hi_descendente = round(Hi_desc, 2)
)
colnames(TDF_viento) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  MC = "-",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi),            # suma total de hi (%)
  Ni_ascendente = "-",
  Ni_descendente = "-",
  Hi_ascendente = "-",
  Hi_descendente = "-"
)
colnames(totaless) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
# Agregar al final de la tabla
TDF_viento <- rbind(TDF_viento, totaless)
TDF_viento %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado del viento, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado del viento, estudio del clima volcán Antisana en 2012 **
Intervalo MC ni hi(%) Ni_asc Hi_asc (%) Ni_desc Hi_desc (%)
[0.4 - 0.6) 0.5 1 0.27 1 0.27 366 100
[0.6 - 0.8) 0.7 1 0.27 2 0.55 365 99.73
[0.8 - 1) 0.9 10 2.73 12 3.28 364 99.45
[1 - 1.2) 1.1 30 8.20 42 11.48 354 96.72
[1.2 - 1.4) 1.3 45 12.30 87 23.77 324 88.52
[1.4 - 1.6) 1.5 58 15.85 145 39.62 279 76.23
[1.6 - 1.8) 1.7 56 15.30 201 54.92 221 60.38
[1.8 - 2) 1.9 48 13.11 249 68.03 165 45.08
[2 - 2.2) 2.1 46 12.57 295 80.6 117 31.97
[2.2 - 2.4) 2.3 35 9.56 330 90.16 71 19.4
[2.4 - 2.6) 2.5 27 7.38 357 97.54 36 9.84
[2.6 - 2.8) 2.7 7 1.91 364 99.45 9 2.46
[2.8 - 3) 2.9 2 0.55 366 100 2 0.55
Totales - 366 100.00 - - - -
Autor: Lorien Arcentales
#Gráficas 
#Histogramas local
hist(viento, breaks = 14,
     main = "Gráfica N°1: Distribución del viento
     presente en el estudio del clima en el volcán Antisana en 2012",
     xlab = " Viento (m/s)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "turquoise",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_viento$breaks,
     labels = Histograma_viento$breaks, las = 1,
     cex.axis = 0.9)

#Histograma global
hist(viento, breaks = 14,
     main = "Gráfica N°2:Distribución del viento
     presente en el estudio del clima en el volcán Antisana en 2012 ",
     xlab = "Viento (m/s)",
     ylab = "Cantidad",
     ylim = c(0, length(viento)),
     col = "turquoise",
     cex.main = 1,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_viento$breaks,
     labels = Histograma_viento$breaks, las = 1,
     cex.axis = 0.9)

#Histograma porcentual global
TDF_viento$`hi (%)` <- as.numeric(TDF_viento$`hi(%)`)

post<-barplot(TDF_viento$`hi(%)`[1:(nrow(TDF_viento)-1)],
              space = 0,
              col = "turquoise",
              main = "Gráfica N°3:Distribución del viento
     presente en el estudio del clima en el volcán Antisana en 2012",
              xlab = " Viento (m/s)",
              ylab = "Porcentaje (%)",
              names.arg = TDF_viento$MC[1:(nrow(TDF_viento)-1)],
              ylim = c(0,100))
axis(side = 1,
     at = post,
     labels = TDF_viento$MC[1:(nrow(TDF_viento)-1)],
     tck = -0.02)

#Histograma porcentual local
n <- as.numeric(nrow(TDF_viento))
pos<-barplot(
  TDF_viento$`hi(%)`[1:(n-1)],
  space = 0,
  main = "Gráfica No. 4:Distribución del viento
     presente en el estudio del clima en el volcán Antisana en 2012",
  ylab = "Porcentaje (%)",
  xlab = " Viento (m/s)",
  names.arg = TDF_viento$MC[1:(n-1)],
  col = "turquoise"
)
axis(side = 1,
     at = pos,
     labels = TDF_viento$MC[1:(nrow(TDF_viento)-1)],
     tck = -0.04,   # controla la longitud de la rayita
     las = 1)       # rota las etiquetas si quieres verticales

#Box plot
Cajaozono<-boxplot(precipitación, horizontal = T,col = "lightgreen", border = "black",
                   main= "Gráfica No. 5: Distribución del viento
     presente en el estudio del clima en el volcán Antisana en 2012",
                   xlab=" Viento (m/s)")

# Ojiva ascendente
plot(Ls, Ni_asc, type = "b", main = "Gráfica N°6:Ojiva ascendente y descendente de la 
     distribución del viento",
     xlab = " Viento (m/s)",
     ylab = "Cantidad", pch = 19,col="red", 
     ylim = c(0, max(c(Ni_asc, Ni_desc))))

# Ojiva descendente
lines(Li, Ni_desc, type = "b", col = "blue", pch = 19)  # agrega en rojo

# Ojiva ascendente
plot(Ls, Hi_asc,
     type = "b",
     main = " Gráfica N°7:Ojiva ascendente y descendente de la distribución
     del viento",
     xlab = " Viento (m/s)",
     ylab = "Porcentaje %",
     col="red",
     pch = 19)

# Ojiva descendente
lines(Li, Hi_desc,
      type = "b",
      col = "blue",
      pch = 19)

#INDICADORES

#Indicadores de Tendencia Central

# Mediana
Me <- median(viento)
Me
## [1] 1.75
# Media
X <- mean(viento)
X
## [1] 1.767787
# Moda
Mo <- "[1.4,1.6]"
Mo
## [1] "[1.4,1.6]"
#Indicadores de Dispersión

# Varianza
var(viento)
## [1] 0.2077148
# Desviación estandar
desv<-round(sd(viento), 2)

# Coeficiente de variación 
CV <- (sd(viento)/X)*100
CV
## [1] 25.78124
#Indicadores de Forma

# Coeficiente de Asimetría
library(e1071)
As <- skewness(viento)
As
## [1] 0.1103783
# Curtosis
K <- kurtosis(viento)
K
## [1] -0.719341
Variable <- "Viento"
Rango <- "[0.59,2.99]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(desv,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")

Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("** Indicadores estadísticos del viento en el estudio del clima en el volcán Antisana en 2012**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
** Indicadores estadísticos del viento en el estudio del clima en el volcán Antisana en 2012**
Variable Rango X Me Mo sd CV As K
Viento [0.59,2.99] 1.768 1.75 [1.4,1.6] 0.46 25.78 0.11 -0.72
Autor: Lorien Arcentales

2.5.6 Humedad

# Extracción de la variable
humedad<-datos$Relative.Humidity
# TDF simplificada
Histograma_humedad<-hist(humedad,plot=FALSE)
breaks <- Histograma_humedad$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
MC<-(Li+Ls)/2
ni<-Histograma_humedad$counts
n<-length(humedad)
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni) 
Hi_asc <- cumsum(hi) 
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_humedad <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  MC = round(MC, 2),
  ni = ni,
  hi= round(hi, 2),
  Ni_ascendente = Ni_asc,
  Hi_ascendente = round(Hi_asc, 2),
  Ni_descendente = Ni_desc,
  Hi_descendente = round(Hi_desc, 2)
)
colnames(TDF_humedad) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  MC = "-",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi),            # suma total de hi (%)
  Ni_ascendente = "-",
  Ni_descendente = "-",
  Hi_ascendente = "-",
  Hi_descendente = "-"
)
colnames(totaless) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
# Agregar al final de la tabla
TDF_humedad <- rbind(TDF_humedad, totaless)
TDF_humedad %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la humedad, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la humedad, estudio del clima volcán Antisana en 2012 **
Intervalo MC ni hi(%) Ni_asc Hi_asc (%) Ni_desc Hi_desc (%)
[0.55 - 0.6) 0.58 2 0.55 2 0.55 366 100
[0.6 - 0.65) 0.62 15 4.10 17 4.64 364 99.45
[0.65 - 0.7) 0.68 18 4.92 35 9.56 349 95.36
[0.7 - 0.75) 0.73 21 5.74 56 15.3 331 90.44
[0.75 - 0.8) 0.78 18 4.92 74 20.22 310 84.7
[0.8 - 0.85) 0.83 25 6.83 99 27.05 292 79.78
[0.85 - 0.9) 0.88 41 11.20 140 38.25 267 72.95
[0.9 - 0.95) 0.92 59 16.12 199 54.37 226 61.75
[0.95 - 1) 0.98 167 45.63 366 100 167 45.63
Totales - 366 100.00 - - - -
Autor: Lorien Arcentales
#Gráficas 
#Histogramas local
hist(humedad, breaks = 10,
     main = "Gráfica N°1: Distribución de la humedad
     presente en el estudio del clima en el volcán Antisana en 2012",
     xlab = " Humedad (%)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "green",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_humedad$breaks,
     labels = Histograma_humedad$breaks, las = 1,
     cex.axis = 0.9)

#Histograma global
hist(humedad, breaks = 10,
     main = "Gráfica N°2:Distribución de la humedad
     presente en el estudio del clima en el volcán Antisana en 2012 ",
     xlab = " Humedad (%)",
     ylab = "Cantidad",
     ylim = c(0, length(humedad)),
     col = "green",
     cex.main = 1,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_humedad$breaks,
     labels = Histograma_humedad$breaks, las = 1,
     cex.axis = 0.9)

#Histograma porcentual global
TDF_humedad$`hi (%)` <- as.numeric(TDF_humedad$`hi(%)`)

post<-barplot(TDF_humedad$`hi(%)`[1:(nrow(TDF_humedad)-1)],
              space = 0,
              col = "green",
              main = "Gráfica N°3:Distribución de la humedad
     presente en el estudio del clima en el volcán Antisana en 2012",
              xlab = " Humedad (%)",
              ylab = "Porcentaje (%)",
              names.arg = TDF_humedad$MC[1:(nrow(TDF_humedad)-1)],
              ylim = c(0,100))
axis(side = 1,
     at = post,
     labels = TDF_humedad$MC[1:(nrow(TDF_humedad)-1)],
     tck = -0.02)

#Histograma porcentual local
n <- as.numeric(nrow(TDF_humedad))
pos<-barplot(
  TDF_humedad$`hi(%)`[1:(n-1)],
  space = 0,
  main = "Gráfica No. 4:Distribución de la humedad
     presente en el estudio del clima en el volcán Antisana en 2012",
  ylab = "Porcentaje (%)",
  xlab = " Humedad (%)",
  names.arg = TDF_humedad$MC[1:(n-1)],
  col = "green"
)
axis(side = 1,
     at = pos,
     labels = TDF_humedad$MC[1:(nrow(TDF_humedad)-1)],
     tck = -0.04,   # controla la longitud de la rayita
     las = 1)       # rota las etiquetas si quieres verticales

#Box plot
Cajahumedad<-boxplot(humedad, horizontal = T,col = "blue", border = "black",
                   main= "Gráfica No. 5: Distribución de la humedad
     presente en el estudio del clima en el volcán Antisana en 2012",
                   xlab=" Humedad (%)")

# Ojiva ascendente
plot(Ls, Ni_asc, type = "b", main = "Gráfica N°6:Ojiva ascendente y descendente de la 
     distribución de la humedad",
     xlab = " Humedad (%)",
     ylab = "Cantidad", pch = 19,col="red", 
     ylim = c(0, max(c(Ni_asc, Ni_desc))))

# Ojiva descendente
lines(Li, Ni_desc, type = "b", col = "blue", pch = 19)  # agrega en rojo

# Ojiva ascendente
plot(Ls, Hi_asc,
     type = "b",
     main = " Gráfica N°7:Ojiva ascendente y descendente de la distribución
     de la humedad",
     xlab = " Humedad (%)",
     ylab = "Porcentaje %",
     col="red",
     pch = 19)

# Ojiva descendente
lines(Li, Hi_desc,
      type = "b",
      col = "blue",
      pch = 19)

#INDICADORES

#Indicadores de Tendencia Central

# Mediana
Me <- median(humedad)
Me
## [1] 0.94
# Media
X <- mean(humedad)
X
## [1] 0.8950273
# Moda
Mo <- "[0.95,1]"
Mo
## [1] "[0.95,1]"
#Indicadores de Dispersión

# Varianza
var(humedad)
## [1] 0.0118026
# Desviación estandar
desv<-round(sd(humedad), 2)

# Coeficiente de variación 
CV <- (sd(humedad)/X)*100
CV
## [1] 12.13815
#Indicadores de Forma

# Coeficiente de Asimetría
library(e1071)
As <- skewness(humedad)
As
## [1] -1.177056
# Curtosis
K <- kurtosis(humedad)
K
## [1] 0.2001903
Variable <- "Humedad"
Rango <- "[0.56,0.99]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(desv,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")

Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("** Indicadores estadísticos de la humedad en el estudio del clima en el volcán Antisana en 2012**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
** Indicadores estadísticos de la humedad en el estudio del clima en el volcán Antisana en 2012**
Variable Rango X Me Mo sd CV As K
Humedad [0.56,0.99] 0.895 0.94 [0.95,1] 0.11 12.14 -1.18 0.2
Autor: Lorien Arcentales

2.5.7 Radiación

# Extracción de la variable
radiación_solar<-datos$Solar
# TDF simplificada
Histograma_radiacion<-hist(radiación_solar,plot=FALSE)
breaks <- Histograma_radiacion$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
MC<-(Li+Ls)/2
ni<-Histograma_radiacion$counts
n<-length(radiación_solar)
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni) 
Hi_asc <- cumsum(hi) 
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_radiación <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  MC = round(MC, 2),
  ni = ni,
  hi= round(hi, 2),
  Ni_ascendente = Ni_asc,
  Hi_ascendente = round(Hi_asc, 2),
  Ni_descendente = Ni_desc,
  Hi_descendente = round(Hi_desc, 2)
)
colnames(TDF_radiación) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  MC = "-",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi),            # suma total de hi (%)
  Ni_ascendente = "-",
  Ni_descendente = "-",
  Hi_ascendente = "-",
  Hi_descendente = "-"
)
colnames(totaless) <- c(
  "Intervalo",
  "MC",
  "ni",
  "hi(%)",
  "Ni_asc",
  "Hi_asc (%)",
  "Ni_desc",
  "Hi_desc (%)"
)
# Agregar al final de la tabla
TDF_radiación <- rbind(TDF_radiación, totaless)
TDF_radiación %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la radiación solar, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la radiación solar, estudio del clima volcán Antisana en 2012 **
Intervalo MC ni hi(%) Ni_asc Hi_asc (%) Ni_desc Hi_desc (%)
[0 - 5) 2.5 51 13.93 51 13.93 366 100
[5 - 10) 7.5 86 23.50 137 37.43 315 86.07
[10 - 15) 12.5 79 21.58 216 59.02 229 62.57
[15 - 20) 17.5 33 9.02 249 68.03 150 40.98
[20 - 25) 22.5 57 15.57 306 83.61 117 31.97
[25 - 30) 27.5 58 15.85 364 99.45 60 16.39
[30 - 35) 32.5 2 0.55 366 100 2 0.55
Totales - 366 100.00 - - - -
Autor: Lorien Arcentales
#Gráficas 
#Histogramas local
hist(radiación_solar, breaks = 8,
     main = "Gráfica N°1: Distribución de la radiación solar
     presente en el estudio del clima en el volcán Antisana en 2012",
     xlab = " Radiación solar (J/m2)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "salmon",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_radiacion$breaks,
     labels = Histograma_radiacion$breaks, las = 1,
     cex.axis = 0.9)

#Histograma global
hist(radiación_solar, breaks = 8,
     main = "Gráfica N°2:Distribución de la radiación solar
     presente en el estudio del clima en el volcán Antisana en 2012 ",
     xlab = " Radiación solar (J/m2)",
     ylab = "Cantidad",
     ylim = c(0, length(radiación_solar)),
     col = "salmon",
     cex.main = 1,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Histograma_radiacion$breaks,
     labels = Histograma_radiacion$breaks, las = 1,
     cex.axis = 0.9)

#Histograma porcentual global
TDF_radiación$`hi (%)` <- as.numeric(TDF_radiación$`hi(%)`)

post<-barplot(TDF_radiación$`hi(%)`[1:(nrow(TDF_radiación)-1)],
              space = 0,
              col = "salmon",
              main = "Gráfica N°3:Distribución de la radiación solar
     presente en el estudio del clima en el volcán Antisana en 2012",
              xlab = " Radiación solar (J/m2)",
              ylab = "Porcentaje (%)",
              names.arg = TDF_radiación$MC[1:(nrow(TDF_radiación)-1)],
              ylim = c(0,100))
axis(side = 1,
     at = post,
     labels = TDF_radiación$MC[1:(nrow(TDF_radiación)-1)],
     tck = -0.02)

#Histograma porcentual local
n <- as.numeric(nrow(TDF_radiación))
pos<-barplot(
  TDF_radiación$`hi(%)`[1:(n-1)],
  space = 0,
  main = "Gráfica No. 4:Distribución de la radiación solar
     presente en el estudio del clima en el volcán Antisana en 2012",
  ylab = "Porcentaje (%)",
  xlab = " Radiación solar (J/m2)",
  names.arg = TDF_radiación$MC[1:(n-1)],
  col = "salmon"
)
axis(side = 1,
     at = pos,
     labels = TDF_radiación$MC[1:(nrow(TDF_radiación)-1)],
     tck = -0.04,   # controla la longitud de la rayita
     las = 1)       # rota las etiquetas si quieres verticales

#Box plot
Cajahumedad<-boxplot(radiación_solar, horizontal = T,col = "brown", border = "black",
                     main= "Gráfica No. 5: Distribución de la radiación solar
     presente en el estudio del clima en el volcán Antisana en 2012",
                     xlab=" Radiación solar (J/m2)")

# Ojiva ascendente
plot(Ls, Ni_asc, type = "b", main = "Gráfica N°6:Ojiva ascendente y descendente de la 
     distribución de la radiación solar",
     xlab = " Radiación solar (J/m2)",
     ylab = "Cantidad", pch = 19,col="red", 
     ylim = c(0, max(c(Ni_asc, Ni_desc))))

# Ojiva descendente
lines(Li, Ni_desc, type = "b", col = "blue", pch = 19)  # agrega en rojo

# Ojiva ascendente
plot(Ls, Hi_asc,
     type = "b",
     main = " Gráfica N°7:Ojiva ascendente y descendente de la distribución
     de la radiación solar",
     xlab = " Radiación solar (J/m2)",
     ylab = "Porcentaje %",
     col="red",
     pch = 19)

# Ojiva descendente
lines(Li, Hi_desc,
      type = "b",
      col = "blue",
      pch = 19)

#INDICADORES

#Indicadores de Tendencia Central

# Mediana
Me <- median(radiación_solar)
Me
## [1] 12.655
# Media
X <- mean(radiación_solar)
X
## [1] 14.43609
# Moda
Mo <- "[5,10]"
Mo
## [1] "[5,10]"
#Indicadores de Dispersión

# Varianza
var(radiación_solar)
## [1] 69.3595
# Desviación estandar
desv<-round(sd(radiación_solar), 2)

# Coeficiente de variación 
CV <- (sd(radiación_solar)/X)*100
CV
## [1] 57.69037
#Indicadores de Forma

# Coeficiente de Asimetría
library(e1071)
As <- skewness(radiación_solar)
As
## [1] 0.2971722
# Curtosis
K <- kurtosis(radiación_solar)
K
## [1] -1.244028
Variable <- "Radiación solar"
Rango <- "[1.26,30.27]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(desv,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")

Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("** Indicadores estadísticos de la radiación solar en el estudio del clima en el volcán Antisana en 2012**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
** Indicadores estadísticos de la radiación solar en el estudio del clima en el volcán Antisana en 2012**
Variable Rango X Me Mo sd CV As K
Radiación solar [1.26,30.27] 14.436 12.655 [5,10] 8.33 57.69 0.3 -1.24
Autor: Lorien Arcentales

2.7 Conclusiones

2.7.1 Meses

La variable meses flúctua entre enero y diciembre y gira entorno a junio y julio, lo que indica que la mayor cantidad de registros del estudio se concentran en estos meses.

2.7.2 Temperatura máxima

La variable temperatura máxima en (°C) entre 10.32 y 23.79 y sus valores giran alrededor 15.74 con una desviación estándar de 2.87 (°C) siendo un conjunto de valores poco variables, los cuales se acumulan de manera debíl en la parte baja de la variable, sin la presencia de valores atípicos. Siendo bueno para el clima en el Antisana porque las temperaturas no cambian bruscamente y no hay olas de calor.

2.7.3 Temperatura mínima

La variable temperatura mínima en (°C) flúctua entre 2.65 y 10.85 y sus valores giran entorno 8.046 con una desviación estandar de 1.37 (°C) siendo un conjunto de valores poco variables, los cuales se acumulan de manera parcialemente fuerte en la parte alta de la variable, sin la presencia de valores atípicos. Siendo bueno para el clima en el Antisana porque las temperaturas no cambian bruscamente.

2.7.4 Precipitación

La variable precipitación en (mm) flúctua entre 0.01 y 94.72 y sus valores giran alrededor de 17.105 con una desviación estándar de 16.12 (mm) siendo un conjunto de valores muy variables, los cuales se acumulan de manera fuerte en la parte media-baja de la variable, con la presencia de 10 valores atípicos. Siendo algo medianamentebueno para el clima en ese sector.

2.7.5 Viento

La varible viento en (m/s) entre 0.59 y 2.99 y sus valores giran entrono 1.768 con una desviación estándar de 0.46 (m/s) siendo un conjunto de valores poco variables, los cuales se acumulan de manera parcialmente dedíl en la parte media de la variable, con la presencia de 10 valores atípicos. Siendo bueno para el clima porque un viento generalmente estable y moderado favorece la estabilidad de los ecosistemas y de los procesos climáticos locales.

2.7.6 Humedad

La variable humedad en (%) entre 0.56 y 0.99 y sus valores giran alrededor de 0.895 con una desviación estándar de 0.11 (%) seindo un conjunto de datos poco variable, los cuales se acumulan de manera fuerte en la parte media a alta de la variable con la presencia de 5 valores atípicos. Siendo bueno para el clima, porque la humedad estable y generalmente alta favorece la mantención de ecosistemas de páramo.

2.7.7 Radiación solar

La variable radiación solar en (J/m2) entre 1.26 y30.27 sus valores giran entorno a 14.43 con una desviación estándar de 8.33 (J/m2) siendo un conjunto de datos variable, los cuales se acumulan de manera debíl en la parte parcialmente baja de la variable con la presencia de 10 valores atípicos. Siendo bueno para el clima, porque la variabilidad refleja la dinámica natural del sol en la zona, con días de baja y alta radiación.

3 ESTADISTÍCA INFERENCIAL

3.1 Modelo Uniforme

library(lubridate)
library(gt)
library(dplyr)
# 1. Carga de datos 
datos<-read.csv("ANTISANA.csv", header = TRUE, dec = ".",
                sep = ",")
# Extracción de la variable y justificación
#Justificación: La variable Meses se clasifica como cualitativa ordinal porque representa categorías no numéricas que describen una característica del fenómeno estudiado y, al mismo tiempo, poseen un orden lógico o jerárquico entre ellas
# Convertir a fecha
datos$Date <- as.Date(datos$Date, format = "%d/%m/%Y")

# Extraer mes numérico (366 valores)
datos$mes <- month(datos$Date)

# Nombres de meses (12 valores)
meses_12 <- c("enero", "febrero", "marzo", "abril", "mayo", "junio",
              "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre")

# Mes en palabras (366 valores)
datos$mes_nombre <- meses_12[datos$mes]
meses <- meses_12[datos$mes]
orden_meses <- c("enero", "febrero", "marzo", "abril", "mayo", "junio",
                 "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre")
meses <- factor(meses, levels = orden_meses, ordered = TRUE)

# 2.TDF variable meses
TDF_meses<-data.frame(table(meses))
ni <- TDF_meses$Freq
hi <- round((ni / sum(ni)) * 100, 2)
meses <- TDF_meses$meses
TDF_meses <- data.frame(meses, ni, hi)
Summary <- data.frame(meses = "TOTAL", ni = sum(ni),hi = 100)
TDF_meses<- rbind(TDF_meses,Summary)
colnames(TDF_meses) <- c("Meses", "ni", "hi(%)")


# TABLA CREACIÓN
TDF_meses %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia de los meses en el estudios del clima en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia de los meses en el estudios del clima en el volcán Antisana en 2012 **
Meses ni hi(%)
enero 31 8.47
febrero 29 7.92
marzo 31 8.47
abril 30 8.20
mayo 31 8.47
junio 30 8.20
julio 31 8.47
agosto 31 8.47
septiembre 30 8.20
octubre 31 8.47
noviembre 30 8.20
diciembre 31 8.47
TOTAL 366 100.00
Autor: Lorien Arcentales
#Mapeo de la variable 
TDF_meses <- data.frame(table(datos$mes))
ni <- TDF_meses$Freq
hi <- round((ni / sum(ni)) * 100, 2)
TDF_meses$Meses <- TDF_meses$Var1
TDF_meses$Var1 <- NULL
TDF_meses <- data.frame(meses, ni, hi)
Summary <- data.frame(meses = "TOTAL", ni = sum(ni),hi = 100)
TDF_meses<- rbind(TDF_meses,Summary)
colnames(TDF_meses) <- c("Mapeo variable", "ni", "hi(%)")
# Separar fila TOTAL
total <- TDF_meses[TDF_meses$`Mapeo variable` == "TOTAL", ]
TDF_meses <- TDF_meses[TDF_meses$`Mapeo variable` != "TOTAL", ]

# Mapeo meses a números
mapa_meses <- c(
  "enero" = 1, "febrero" = 2, "marzo" = 3, "abril" = 4,
  "mayo" = 5, "junio" = 6, "julio" = 7, "agosto" = 8,
  "septiembre" = 9, "octubre" = 10, "noviembre" = 11, "diciembre" = 12
)

# Reemplazar nombres por números
TDF_meses$`Mapeo variable` <- mapa_meses[as.character(TDF_meses$`Mapeo variable`)]

# Ordenar por mes
TDF_meses <- TDF_meses[order(TDF_meses$`Mapeo variable`), ]

# Quitar columna texto
TDF_meses <- TDF_meses[, c("Mapeo variable", "ni", "hi(%)")]

# Volver a agregar TOTAL
total$Mes <- "TOTAL"
total <- total[, c("Mapeo variable", "ni", "hi(%)")]
TDF_meses <- rbind(TDF_meses, total)


# TABLA CREACIÓN
TDF_meses %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("**Distribucion de frecuencia de los meses mapeado, en el estudios del clima en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
**Distribucion de frecuencia de los meses mapeado, en el estudios del clima en el volcán Antisana en 2012 **
Mapeo variable ni hi(%)
1 31 8.47
2 29 7.92
3 31 8.47
4 30 8.20
5 31 8.47
6 30 8.20
7 31 8.47
8 31 8.47
9 30 8.20
10 31 8.47
11 30 8.20
12 31 8.47
TOTAL 366 100.00
Autor: Lorien Arcentales
# 3. GDF porcentual
TDF_sin_total <- TDF_meses[TDF_meses$`Mapeo variable` != "TOTAL", ]
par(mar = c(7, 7, 4, 2))
barplot(TDF_sin_total$`hi(%)`,
        main= "Gráfica N°2:Distribución de meses mapeado en el estudio del clima en
        el volcán Antisana en 2012", 
        xlab = "Mapeo meses",
        ylab = "Porcentaje (%)",
        col = "lightsalmon",
        ylim = c(0,100),
        names.arg = 1:nrow(TDF_sin_total),
        las=2,
        cex.names=1.0,
        cex.axis = 0.9,
        cex.main = 0.9,
        mgp = c(5, 1, 0))

#4. Conjetura, escoger un modelo de probabilidad
# Modelo Uniforme porque como podemos observar la gráfica se aproxima a un modelo uniforme, ya que las barras presentan alturas similares entre las distintas clases, sin categorías marcadas en un mes en específico
#5.Cálculo de los parametros 
N <- sum(TDF_sin_total$ni)
#Frecuencias obsevadas  
freq_obs <- TDF_sin_total$`hi(%)` 
freq_obs
##  [1] 8.47 7.92 8.47 8.20 8.47 8.20 8.47 8.47 8.20 8.47 8.20 8.47
#Frecuencia teorica
freq_teo <- rep(100/ 12, 12)
freq_teo
##  [1] 8.333333 8.333333 8.333333 8.333333 8.333333 8.333333 8.333333 8.333333
##  [9] 8.333333 8.333333 8.333333 8.333333
#6. Gráfica  de comparación modelo con realidad
par(mar = c(4, 5, 4, 2))
barplot(
  rbind(freq_obs,freq_teo ),
  beside = TRUE,
  col = c("blue", "red"),
  ylim = c(0, 100),
  names.arg = TDF_sin_total$`Mapeo variable`,
  xlab = "Mapeo meses",
  ylab = "Probabilidad (%)",
  main = "Gráfica No 3: Comparación modelo con la realidad,
  meses en el estudio de clima en el volcán Antisana en 2012"
)

legend(
  "top",
  inset = 0.02,
  legend = c("Realidad", "Modelo uniforme"),
  fill = c("blue", "red"),
  horiz = TRUE,
  bty = "n"
)

#7. Tests de bondad
#7.1 Test Pearson:La correlación de Pearson no puede calcularse debido a que el modelo uniforme presenta varianza nula, ya que asigna la misma frecuencia esperada a todos los intervalos, lo que invalida su uso como medida de ajuste en este contexto.
# 7.2 Test Chi-Cuadrado : 
Fo <- TDF_sin_total$`hi(%)`      # Observada en %
Fe <- freq_teo          # Esperada en %
#Chi-Cuadrado
x2<-sum(((Fo-Fe)^2)/Fe)
x2
## [1] 0.044724
#Valor crítico
alpha <- 0.05   # Nivel de significancia del 5%
gl <- length(TDF_sin_total$`Mapeo variable`) - 1# porque p = 0
gl
## [1] 11
vc <- qchisq(1 - alpha, df = gl)
vc
## [1] 19.67514
x2<vc # el error no supera al umbral, aprueba
## [1] TRUE

3.2 Modelo normal

# 1. Carga de datos y paquetes
library(gt)
library(dplyr)
datos<-read.csv("ANTISANA.csv", header = TRUE, dec = ".",
                sep = ",")
#Extracción variable
viento<-datos$Wind
length(viento)
## [1] 366
#Justificación: La velocidad del viento, medida en metros por segundo (m/s), es una variable cuantitativa continua porque representa una magnitud física que puede tomar cualquier valor real dentro de un intervalo, dependiendo de las condiciones atmosféricas. En el dominio de la meteorología, el viento no cambia de forma discreta, sino de manera gradual y constante en el tiempo y el espacio.

#2. TDF simplificada
Histograma_viento<-hist(viento,plot=FALSE)
breaks <- Histograma_viento$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
ni<-Histograma_viento$counts
n<-length(viento)
hi <- (ni / n) * 100
TDF_viento <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  ni = ni,
  hi= round(hi, 2)
)
colnames(TDF_viento) <- c(
  "Intervalo",
  "ni",
  "hi(%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi)           # suma total de hi (%
)
colnames(totaless) <- c(
  "Intervalo",
  "ni",
  "hi(%)"
)
# Agregar al final de la tabla
TDF_viento <- rbind(TDF_viento, totaless)
TDF_viento %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado del viento, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado del viento, estudio del clima volcán Antisana en 2012 **
Intervalo ni hi(%)
[0.4 - 0.6) 1 0.27
[0.6 - 0.8) 1 0.27
[0.8 - 1) 10 2.73
[1 - 1.2) 30 8.20
[1.2 - 1.4) 45 12.30
[1.4 - 1.6) 58 15.85
[1.6 - 1.8) 56 15.30
[1.8 - 2) 48 13.11
[2 - 2.2) 46 12.57
[2.2 - 2.4) 35 9.56
[2.4 - 2.6) 27 7.38
[2.6 - 2.8) 7 1.91
[2.8 - 3) 2 0.55
Totales 366 100.00
Autor: Lorien Arcentales
#3.GDF-Histograma
TDF_viento$`hi (%)` <- as.numeric(TDF_viento$`hi(%)`)
TDF_viento_graf <- TDF_viento[TDF_viento$Intervalo != "Totales", ]
par(mar = c(9, 5, 4, 2))  # margen inferior más grande
post <- barplot(
  TDF_viento_graf$`hi(%)`,
  space = 0,
  col = "steelblue",
  ylim = c(0, 100),
  xaxt = "n",
  ylab = "Porcentaje (%)",
  main = "Gráfica N°1:Distribució del viento en el estudio
        del clima en el volcán Antisana en 2012"
)
axis(
  side = 1,
  at = post,
  labels = TDF_viento_graf$Intervalo,
  las = 2,
  cex.axis = 0.8
)
mtext(
  "Viento (m/s)",
  side = 1,
  line = 7
)

#4.CONJETURA DEL MODELO: Se observa la distribución de la variable longitud sigue aproximadamente un modelo de distribución normal. Esto se basa en la observación del histograma, en el que las frecuencias de las barras analizadas muestran una forma algo simétricas y centralizada, característica de la distribución normal.

#5.CÁLCULO DE LOS PARÁMETROS DISTRIBUCIÓN NORMAL
# Media (mu)
mu <- mean(viento)
mu
## [1] 1.767787
# Desviación estándar (sigma)
sigma <- sd(viento)
sigma
## [1] 0.4557574
#6. HISTOGRAMA densidad de probabilidad
Histograma_viento <- hist(viento,
                            breaks = breaks,
                            freq = FALSE,          
                            main = "Gráfica Nº2: Comparación modelo normal con la realidad,  del viento\nestudio del clima en el volcán Antisana", 
                            xlab = "Viento (m/s)",
                            ylab = "Densidad probabilidad ",
                            col = "lightblue", ylim = c(0,1),xaxt = "n"
)  
axis(1, at = breaks)

# Secuencia para la curva normal
x <- seq(min(viento), max(viento), by=0.01)

# Curva normal 
curve(dnorm(x, mu, sigma),type="l",add = T,lwd=4, col = "black")

#7.TEST DE BONDAD

#Test de Pearson
#Frecuencia observada
Fo<-as.numeric(table(cut(viento, breaks = breaks, include.lowest = TRUE)))
Fo
##  [1]  1  1 10 30 45 58 56 48 46 35 27  7  2
n <- length(viento)
# Probabilidad = P(X <= Ls) - P(X <= Li)
p <- diff(pnorm(breaks, mean = mu, sd = sigma))
# Fe = Probabilidad * n
Fe <- p * n
Fe
##  [1]  1.410630  4.266897 10.676883 22.102044 37.852440 53.634268 62.876266
##  [8] 60.986136 48.941210 32.494649 17.849751  8.111864  3.049707
Correlación<-cor(Fo,Fe)*100
Correlación
## [1] 96.24809
#Test Chi-cuadrado
# Fo y Fe en fracción
x2 <- sum((Fo - Fe)^2 / Fe)
x2
## [1] 16.28248
k <- length(Fo)
grados_libertad <- k - 1-2
grados_libertad
## [1] 10
umbral_aceptacion <- qchisq(0.95, df = grados_libertad)
umbral_aceptacion
## [1] 18.30704
x2<umbral_aceptacion
## [1] TRUE
# 8. CÁLCULO DE PROBABILDAD

#¿Cuál es la probabilidad de que en 2026 la velocidad del viento en el volcán Antisana este entre 1.4 y 1.6 (m/s)?
pnorm(1.6,mu,sigma)-pnorm(1.4,mu,sigma)
## [1] 0.1465417
#¿Cuál es la probabilidad de que la velocidad del viento para 2029 en el volcán Antisana sea mayor o igual a 2 (m/s)?
1-pnorm(2.0,mu,sigma)
## [1] 0.3051973
# Demostración:
# Secuencia para densidad
x <- seq(0.4, 3, by=0.01)

plot(x, dnorm(x, mu, sigma), type="l", col="skyblue3", lwd=2,
     main="Gráfica N°3: Cálculo de probabilidad viento ",
     ylab="Densidad de probabilidad", xlab=" Viento (m/s)", xaxt="n")
axis(1, at = breaks)
# Área roja: 
x_section1 <- seq(1.4, 1.6, by=0.01)
y_section1 <- dnorm(x_section1, mu, sigma)
polygon(c(x_section1, rev(x_section1)), c(y_section1, rep(0, length(y_section1))),
        col=rgb(1,0,0,0.5))

# Área verde: 
x_section2 <- seq(2.0, 3.0, by=0.01)
y_section2 <- dnorm(x_section2, mu, sigma)
polygon(c(x_section2, rev(x_section2)), c(y_section2, rep(0, length(y_section2))),
        col=rgb(0,1,0,0.5))

# Leyenda
legend("topright", legend=c("Modelo","Área roja","Área verde"),
       col=c("skyblue3","red","green"), lwd=2, fill=c(NA,"red","green"),cex = 0.8 )

# 9. INTERVALO DE CONFIANZA
media <-mean(viento)
sigma<-sd(viento)
n<-length(viento)
error<- 2*(sigma/sqrt(n))
#Límites intevalo de cofianza
limite_inferior<- round(media-error,2)
limite_superior<- round(media+error,2)
tabla_intervalo <- data.frame(Intervalo = "P [1.72< µ < 1.82] = 95%")

tabla_intervalo %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("**Intervalo de confianza del viento en el estudio del clima en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
**Intervalo de confianza del viento en el estudio del clima en el volcán Antisana en 2012 **
Intervalo
P [1.72< µ < 1.82] = 95%
Autor: Lorien Arcentales
# 10. CONCLUSIÓN VIENTO

# La variable viento en (m/s) sigue o se explica con un modelo normal con parametro µ= 1,76 y σ= 0.45 y podemos afirmar con el 95% de confianza que la media aritmética de está variable se encuentra entre 1.71 y 1.82 (m/s) con una desviación estándar de 0.455 (m/s).

3.3 Modelo exponencial

# 1. Extracción de la variable y justificación
precipitación<-datos$Precipitation
#Justificación: La variable precipitación (mm) es continua porque su dominio corresponde al conjunto de los números reales no negativos incluido el cero. Esto se debe a que la cantidad de lluvia puede tomar infinitos valores posibles dentro de un intervalo.

# 2. TDF simplificada
Histograma_precipitación<-hist(precipitación,plot=FALSE)
breaks <- Histograma_precipitación$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
ni<-Histograma_precipitación$counts
n<-length(precipitación)
hi <- (ni / n) * 100
TDF_precipitacion <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  ni = ni,
  hi= round(hi, 2)
)
colnames(TDF_precipitacion) <- c(
  "Intervalo",
  "ni",
  "hi(%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi)         # suma total de hi (%
)
colnames(totaless) <- c(
  "Intervalo",
  "ni",
  "hi(%)"
)
# Agregar al final de la tabla
TDF_precipitacion <- rbind(TDF_precipitacion, totaless)
TDF_precipitacion %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la precipitación, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la precipitación, estudio del clima volcán Antisana en 2012 **
Intervalo ni hi(%)
[0 - 10) 150 40.98
[10 - 20) 92 25.14
[20 - 30) 58 15.85
[30 - 40) 27 7.38
[40 - 50) 23 6.28
[50 - 60) 10 2.73
[60 - 70) 4 1.09
[70 - 80) 0 0.00
[80 - 90) 1 0.27
[90 - 100) 1 0.27
Totales 366 100.00
Autor: Lorien Arcentales
#3.GDF-Histograma
TDF_precipitacion$`hi (%)` <- as.numeric(TDF_precipitacion$`hi(%)`)
TDF_precipitacion_graf <- TDF_precipitacion[TDF_precipitacion$Intervalo != "Totales", ]
par(mar = c(9, 5, 4, 2))  # margen inferior más grande
post <- barplot(
  TDF_precipitacion_graf$`hi(%)`,
  space = 0,
  col = "blue",
  ylim = c(0, 100),
  xaxt = "n",
  ylab = "Porcentaje (%)",
  main = "Gráfica N°1:Distribución de la precipitación en el estudio
        del clima en el volcán Antisana en 2012"
)
axis(
  side = 1,
  at = post,
  labels = TDF_precipitacion_graf$Intervalo,
  las = 2,
  cex.axis = 0.8
)
mtext(
  "Precipitación (mm)",
  side = 1,
  line = 7
)

# 4. CONJETURA: Observando el histograma de la variable precipitación (mm), se puede notar que las barras presentan una alta frecuencia de valores bajos y van decreciendo rápidamente a medida que aumenta la precipitación. Esta forma característica, con un declive continuo hacia la derecha, sugiere que la variable podría seguir un modelo de distribución exponencial.

# 5. CÁLCULO DE PARÁMETROS DISTRIBUCIÓN EXPONELCIAL
# Media 
media_exp <- mean(precipitación)
media_exp
## [1] 17.10478
# Lambda
lambda<-1/media_exp
lambda
## [1] 0.05846318
#6. HISTOGRAMA densidad de probabilidad
Histograma_precipitación <- hist(precipitación,
                                 breaks = breaks,
                                 freq = FALSE,          
                                 main = "Gráfica Nº2: Comparación modelo exponelcial realidad de la precipitación\n en el estudio del clima en el volcán Antisana", 
                                 xlab = " Precipitación (mm)",
                                 ylab = "Densidad probabilidad ",
                                 col = "lightblue", ylim = c(0,0.06),xaxt = "n"
)  
axis(1, at = breaks)
# Curva exponencial
curve(dexp(x,rate = lambda),
      from = 0, to = 100,
      col = "orange", lwd = 2, add = TRUE)

#7.TEST DE BONDAD
#Test de Pearson

fo <- hist(precipitación, breaks=breaks, plot=FALSE)$counts
fo
##  [1] 150  92  58  27  23  10   4   0   1   1
n <- length(precipitación)
p <- diff(pexp(breaks, rate=lambda))
# Fe = Probabilidad * n
fe <- p * n
fe
##  [1] 162.0241746  90.2978545  50.3239874  28.0461117  15.6304065   8.7109974
##  [7]   4.8547347   2.7055970   1.5078590   0.8403464
Correlación<-cor(fo,fe)*100
Correlación
## [1] 99.55797
#Test Chi-cuadrado
x2 <- sum((fo - fe)^2 / fe)
x2
## [1] 8.857184
k <- length(fo)
grados_libertad <- k - 2
grados_libertad
## [1] 8
umbral_aceptacion <- qchisq(0.95, df = grados_libertad)
umbral_aceptacion
## [1] 15.50731
x2<umbral_aceptacion
## [1] TRUE
# 8.CÁLCULO DE PROBABILIDAD
#“¿Cuál es la probabilidad de que las precipitaciones superen el límite de 40 (mm) en un día cualquiera?”
1-pexp(40, rate = lambda)
## [1] 0.09646959
#Demostración:
# Rango de x para la curva
x <- seq(0, 100, by=0.001)
y <- dexp(x, rate=lambda)

# Calcular máximo para ajustar ylim
ylim_max <- max(y) * 1.1

# Graficar curva principal
plot(x, y, type="l", col="blue", lwd=2, xlim=c(0,100), ylim=c(0, ylim_max),
     main="Gráfica N°3: Cálculo de probabilidad precipitación",
     ylab="Densidad de probabilidad", xlab=" Precipitación (mm)", xaxt="n")

# Área a sombrear (por ejemplo, x >= 40)
x_section <- seq(40, 100, by=0.001)
y_section <- dexp(x_section, rate=lambda)

# Sombrear el área
polygon(c(x_section, rev(x_section)), c(y_section, rep(0, length(y_section))),
        col=rgb(0,1,0,0.5), border=NA)  # verde semitransparente

# Dibujar línea verde sobre el área
lines(x_section, y_section, col="green", lwd=2)

# Leyenda
legend("topright", legend=c("Modelo", "Área de Probabilidad"), 
       col=c("blue","green"), lwd=2, lty=c(1,1))

# Eje x
axis(1, at=seq(0,100,by=10))

# 9.INTERVALO DE CONFIANZĀ
media <-mean(precipitación)
sigma<-sd(precipitación)
n<-length(precipitación)
error<- 2*(sigma/sqrt(n))
#Límites intevalo de cofianza
limite_inferior<- round(media-error,2)
limite_superior<- round(media+error,2)
tabla_intervalo <- data.frame(Intervalo = "P [15.42< µ < 18.79] = 95%")
tabla_intervalo %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("**Intervalo de confianza de las precipitaciones en el estudio del clima en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
**Intervalo de confianza de las precipitaciones en el estudio del clima en el volcán Antisana en 2012 **
Intervalo
P [15.42< µ < 18.79] = 95%
Autor: Lorien Arcentales
# 10. CONCLUSIÓN PRECIPITACIÓN
# La variable precipitación (mm) sigue o se explica con un modelo exponencial con parametro λ= 0.058 y podemos afirmar con 95% de confianza que la media aritmetica de está variable se encuentra entre 15.42 y 18.79 (mm) con una desviación estándar de 16.115 (mm).

3.4 Modelo log-normal

# 1. Extracción de la variable y justificación
#Justificación: La temperatura mínima es una variable continua porque puede tomar cualquier valor dentro de un rango definido y no está limitada a valores enteros específicos. Es decir, entre dos valores medidos siempre puede existir otro valor posible, su dominio se define por el conjunto de los números reales.

temperatura_mínima<-datos$Min.Temperature
# 2.TDF simplificada
Histograma_temperatura_mínima<-hist(temperatura_mínima,plot=FALSE)
breaks <- Histograma_temperatura_mínima$breaks
Li <- breaks[1:(length(breaks)-1)]
Ls <- breaks[2:length(breaks)]
ni<-Histograma_temperatura_mínima$counts
n<-length(temperatura_mínima)
hi <- (ni / n) * 100
TDF_temperaturamin <- data.frame(
  Intervalo = paste0("[", round(Li,2), " - ", round(Ls,2), ")"),
  ni = ni,
  hi= round(hi, 2)
)
colnames(TDF_temperaturamin) <- c(
  "Intervalo",
  "ni",
  "hi(%)"
)
totaless <- data.frame(
  Intervalo = "Totales",
  ni = sum(ni),           # suma total de ni
  hi = sum(hi)          # suma total de hi (%)
)
colnames(totaless) <- c(
  "Intervalo",
  "ni",
  "hi(%)"
)
# Agregar al final de la tabla
TDF_temperaturamin <- rbind(TDF_temperaturamin, totaless)
TDF_temperaturamin %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia simplificado de la temperatura mínima,estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Distribucion de frecuencia simplificado de la temperatura mínima,estudio del clima volcán Antisana en 2012 **
Intervalo ni hi(%)
[2 - 3) 1 0.27
[3 - 4) 2 0.55
[4 - 5) 7 1.91
[5 - 6) 16 4.37
[6 - 7) 48 13.11
[7 - 8) 109 29.78
[8 - 9) 90 24.59
[9 - 10) 66 18.03
[10 - 11) 27 7.38
Totales 366 100.00
Autor: Lorien Arcentales
# 3. GDF-Histograma de la variable
par(mar = c(5.1, 4.1, 4.1, 2.1))
post<-barplot(TDF_temperaturamin$`hi(%)`[1:(nrow(TDF_temperaturamin)-1)],
              space = 0,
              col = "salmon",
              main = "Gráfica N°1:Distribución de la temperatura mínima, 
              estudio del clima en el volcán Antisana en 2012",
              xlab = " Temperatura mínima (°C)",
              ylab = "Porcentaje (%)",
              ylim = c(0,100), xaxt = "n")
limites <- c(post[1] - diff(post)[1]/2,
             post + diff(post)[1]/2)
axis(
  side = 1,
  at = limites,
  labels = round(breaks, 2),
  tck = -0.02
)

# 4. CONJETURA
#Al analizar el histograma de las temperaturas mínimas, se observa que la mayor frecuencia de datos se concentra hacia valores altos y que la cola de la distribución se extiende hacia la izquierda, indicando que hay pocos valores muy bajos de temperatura. Esto sugiere que los datos podrían aproximarse a un modelo log-normal invertido.

# 5. CÁLCULO DE PARÁMETROS DISTRIBUCIÓN LOG-NORMAL
min(temperatura_mínima)
## [1] 2.65
log_temp <- log(temperatura_mínima)
mulog <- mean(log_temp)
sigmalog <- sd(log_temp)

# 6. GDF-HISTOGRAMA DENSIDAD DE PROBABILIDAD 
Histograma_temperatura_mínima <- hist(
  temperatura_mínima,
  breaks = breaks,
  col = "salmon",
  freq = FALSE,
  main = "Gráfica N°2: Comparación de la Realidad y el Modelo Log-normal
        de la temperatura mínima en el estudio del clima en el volcán Antisana",
  xlab = " Temperatura mínima (°C)",
  ylab = "Densidad de probabilidad",
  cex.main = 0.9, ylim = c(0,0.4),xaxt = "n")
axis(1, at = breaks)
x <- seq(min(temperatura_mínima), max(temperatura_mínima), by=0.001)
curve(
  dlnorm(x, meanlog = mulog, sdlog = sigmalog),
  col = "darkblue",
  lwd = 3,
  add = TRUE
)

# 7. TEST DE BONDAD

# Test de Pearson
fo <- hist(temperatura_mínima, breaks=breaks, plot=FALSE)$counts
fo
## [1]   1   2   7  16  48 109  90  66  27
n <- length(temperatura_mínima)
fe <- numeric(length(fo))  # vector vacío para frecuencias esperadas

for(i in 1:length(fo)){
  fe[i] <- n * (plnorm(breaks[i+1], meanlog = mulog, sdlog = sigmalog) -
                  plnorm(breaks[i], meanlog = mulog, sdlog = sigmalog))
}
fe
## [1] 4.914119e-05 5.410726e-02 2.666588e+00 2.324386e+01 6.823973e+01
## [6] 9.706234e+01 8.401222e+01 5.137289e+01 2.453682e+01
Correlación<-cor(fo,fe)*100
Correlación
## [1] 96.62853
#Test de Chi-cuadrado
fe_frac <- fe / n
fe_frac
## [1] 1.342655e-07 1.478340e-04 7.285759e-03 6.350780e-02 1.864473e-01
## [6] 2.651976e-01 2.295416e-01 1.403631e-01 6.704049e-02
fo_frac <- fo / n
fo_frac
## [1] 0.002732240 0.005464481 0.019125683 0.043715847 0.131147541 0.297814208
## [7] 0.245901639 0.180327869 0.073770492
x2 <- sum((fo_frac - fe_frac)^2 / fe_frac)
x2
## [1] 55.84459
k <- length(fo_frac)
gl <- k - 1 -2
gl
## [1] 6
umbral_aceptacion <- qchisq(0.9999999999, df = gl)
umbral_aceptacion
## [1] 58.2918
x2<umbral_aceptacion
## [1] TRUE
# 9. CÁLCULO DE PROBABILIDAD

# ¿Cuál es la probabilidad de que la temperatura mínima se encuentre entre 7 y 8 (°C) en 2026?
plnorm(8, mulog, sigmalog) - plnorm(7, mulog, sigmalog)
## [1] 0.2651976
#¿Cuál es la probabilidad de que la temperatura mínima no supere los 8(°C)?
plnorm(8, mulog, sigmalog)
## [1] 0.5225865
#Demostración:
x <- seq(min(temperatura_mínima), max(temperatura_mínima), by=0.001)
plot(x, dlnorm(x, mulog,sigmalog), col = "blue", lwd = 1, xaxt = "n", ylim=c(0,0.3),
     main="Gráfica N°6: Cálculo de probabilidad temperatura mínima",
     ylab="Densidad de probabilidad",xlab=" Temperatura mínima (°C)", xaxt="n")

# Definir el rango de la sección que quieres pintar
x <- seq(7, 8,0.001)
y_section <- dlnorm(x, mulog,sigmalog)

# Pintar la sección de la curva
lines(x, y_section, col = "red", lwd = 2)

# Pintar el área debajo de la línea roja
polygon(c(x, rev(x)), c(y_section, rep(0, length(y_section))), col = rgb(1, 0, 0, 0.6))

x_section2 <- seq(2, 8, by=0.001)
y_section2 <- dlnorm(x_section2, mulog, sigmalog)

lines(x_section2, y_section2, col="green", lwd=2)

polygon(c(x_section2, rev(x_section2)),
        c(y_section2, rep(0, length(y_section2))),
        col=rgb(0,1,0,0.4))  # verde semi-transparente
# Añadir leyenda
legend("topright", 
       legend = c("Modelo", "Área de Probabilidad (7-8°C)", "Área de Probabilidad (2-8°C)"), 
       col = c("skyblue3", "red", "green"), 
       lwd = 2, 
       pch = c(NA, 15, 15),   # NA para línea, 15 para cuadrado
       cex = 0.7,             # tamaño del texto (0.7 = 70% del tamaño normal)
       pt.cex = 1)            # tamaño de los símbolos

axis(1, at = breaks)

# 10.INTERVALO DE CONFIANZĀ
media <-mean(temperatura_mínima)
sigma<-sd(temperatura_mínima)
n<-length(temperatura_mínima)
error<- 2*(sigma/sqrt(n))
#Límites intevalo de cofianza
limite_inferior<- round(media-error,2)
limite_superior<- round(media+error,2)
tabla_intervalo <- data.frame(Intervalo = "P [7.9< µ <8.19] = 95%")
tabla_intervalo %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("**Intervalo de confianza de la temperatura mínima en el estudio del clima en el volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 2
**Intervalo de confianza de la temperatura mínima en el estudio del clima en el volcán Antisana en 2012 **
Intervalo
P [7.9< µ <8.19] = 95%
Autor: Lorien Arcentales
# 11. CONCLUSIÓN TEMPERATURA MÍNIMA
# La variable  temperatura mínima  (°C) sigue o se explica con un modelo log-normal inverso con parametros µ = 2.068 y σ = 0.188 y podemos afirmar con 95% de confianza que la media aritmética de está variable se encuentra entre 7.9 y 8.19 (°C) con una desviasión estándar de 1.37 (°C).

4 ESTADISTICA MULTIVARIABLE

4.1 Regresión simple

4.1.1 Modelo lineal

# Carga de datos y paquetes 
library(gt)
library(dplyr)
datos<-read.csv("ANTISANA.csv", header = TRUE, dec = ".",
                sep = ",")
# 1. Seleccionar dos variables

y<-datos$Max.Temperature
x<-datos$Solar
#Causa y efecto: Más radiación solar provoca mayores temperaturas máximas durante el día. Muestran una relación directamente proporcional: a mayor radiación, mayor temperatura máxima.

# 2. Tabla pares de valores (TVP)

TVP_tem_radi<-data.frame(x,y)
TVP_tem_radi %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Pares de valores de tempratura máxima y radiación solar, estudio del clima volcán Antisana en 2012 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Lorien Arcentales")
  ) %>%
  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"
  )
Tabla Nro. 1
**Pares de valores de tempratura máxima y radiación solar, estudio del clima volcán Antisana en 2012 **
x y
15.98 16.10
12.25 15.50
4.58 11.55
4.32 12.02
3.86 11.73
9.57 12.11
10.93 13.06
2.40 11.53
5.32 12.95
7.19 13.38
6.71 12.99
10.77 17.40
9.66 15.88
5.37 13.65
4.02 13.07
9.64 13.81
8.11 13.02
3.19 12.31
3.64 12.73
5.60 12.17
8.75 12.54
4.57 11.78
1.52 10.51
1.93 10.32
10.43 12.81
3.60 11.91
6.45 13.18
1.35 11.57
5.55 11.94
6.50 12.39
6.87 13.27
8.17 13.38
1.58 11.58
5.28 12.85
10.11 14.18
8.24 14.65
1.90 12.42
6.07 13.84
7.16 13.48
7.87 14.34
11.57 14.38
2.15 11.13
8.31 12.91
6.11 11.59
8.86 12.47
5.92 11.55
5.95 12.14
5.10 10.73
4.00 11.42
8.01 12.26
4.08 11.38
3.59 12.04
2.83 10.83
2.90 10.99
3.07 11.43
1.82 11.41
1.54 11.05
4.28 11.56
6.99 12.24
6.89 12.80
9.89 14.44
11.45 17.04
8.35 16.21
5.44 14.15
4.63 12.85
9.72 14.69
11.63 17.98
16.16 17.10
20.53 18.81
13.70 15.57
17.42 17.53
16.27 17.50
18.80 19.00
14.41 16.85
14.52 17.11
13.32 17.07
8.32 14.42
3.98 13.91
4.49 11.73
2.39 11.71
7.02 12.45
4.29 12.23
7.79 13.20
4.83 12.81
5.59 12.19
8.29 12.93
4.73 12.92
4.83 14.30
11.93 15.56
14.83 18.25
12.42 15.47
13.34 16.30
13.22 16.92
11.89 15.52
4.44 12.28
3.45 11.86
5.38 13.75
7.20 13.52
4.74 10.97
8.03 13.76
10.47 12.32
16.45 14.53
10.60 13.10
11.69 13.70
10.17 14.20
11.57 13.42
4.33 11.81
5.45 12.39
3.56 12.24
7.98 14.56
9.87 13.90
10.95 14.77
7.18 13.07
11.98 15.19
8.21 14.36
16.90 17.63
3.87 14.35
9.73 14.36
5.13 13.42
3.54 12.37
7.40 13.71
7.61 14.26
13.65 15.88
21.70 17.35
16.46 16.22
14.53 14.77
11.31 15.35
12.95 15.15
13.57 16.49
12.13 15.26
15.54 16.23
11.48 14.93
6.16 14.18
5.63 13.50
14.65 17.12
10.78 15.33
13.21 18.85
16.16 17.26
11.76 14.43
4.89 12.55
4.61 15.70
7.98 14.04
13.62 16.14
18.58 16.67
25.28 17.34
24.96 19.19
25.11 18.76
26.70 20.24
21.17 20.09
21.44 18.54
24.41 18.68
26.23 19.89
23.67 18.43
16.36 18.98
15.49 16.35
21.36 17.08
19.28 17.26
25.20 17.44
25.88 19.12
22.03 17.09
24.51 17.64
25.95 19.02
24.77 19.65
22.40 16.46
24.38 16.26
14.84 16.16
21.01 16.79
16.21 15.58
21.77 16.27
20.93 16.00
17.68 15.21
20.32 19.65
19.89 16.57
26.28 19.16
20.91 18.09
15.23 18.03
23.15 15.83
23.24 17.46
25.32 17.67
24.51 16.63
12.93 15.50
23.49 16.79
20.54 19.42
26.46 20.59
23.87 18.13
22.65 16.34
14.82 16.26
22.19 16.80
21.11 17.32
26.14 20.88
25.97 18.58
23.48 18.67
23.31 17.66
24.58 16.55
24.72 17.46
22.81 16.51
24.74 17.63
26.30 19.27
26.68 19.19
25.67 21.32
27.03 21.00
21.33 17.72
21.60 18.12
27.15 21.21
27.00 20.38
26.87 19.82
27.49 21.56
27.57 21.51
25.71 19.87
26.45 22.60
21.47 18.15
26.02 21.06
23.87 19.74
25.68 20.39
25.50 18.06
21.02 17.88
24.63 19.26
27.04 20.71
27.21 18.95
27.82 17.64
28.31 19.24
28.43 21.20
23.69 18.99
23.32 18.60
13.49 16.81
20.40 16.94
14.08 17.44
18.42 17.27
21.71 17.40
12.10 16.37
22.30 17.60
28.54 19.69
28.45 19.10
28.67 20.61
28.30 18.10
28.57 17.79
28.66 18.00
28.51 20.83
26.72 22.34
24.67 21.30
28.99 23.47
20.94 19.11
27.35 22.96
26.15 20.48
29.49 21.47
23.54 20.39
24.22 18.32
27.74 18.56
23.88 20.02
29.54 20.89
25.65 18.82
26.40 20.48
29.99 23.42
29.10 19.31
30.05 22.04
27.33 19.40
30.27 23.79
27.88 21.01
29.26 19.79
26.31 17.86
25.28 17.67
16.94 16.78
25.09 17.85
18.76 17.49
17.01 16.46
24.15 18.33
19.89 17.39
12.87 15.34
20.83 16.45
27.79 19.00
13.61 17.11
16.59 16.80
28.21 18.20
29.04 20.20
20.77 17.60
22.85 16.89
24.65 16.29
16.29 16.26
1.26 10.99
7.55 12.66
12.11 15.47
5.30 13.82
9.01 15.20
12.84 14.06
13.35 13.94
9.25 14.15
6.27 13.32
11.19 14.75
13.04 15.17
3.62 12.79
3.59 11.35
8.39 12.74
10.04 12.82
15.18 16.27
10.40 14.66
17.05 15.87
19.09 15.81
11.32 13.80
7.11 15.02
13.48 16.01
14.67 17.23
20.45 16.83
13.20 15.29
10.21 13.90
5.55 13.43
11.93 14.55
13.24 15.19
13.15 15.61
5.84 12.55
9.66 14.36
3.99 13.20
5.15 12.71
13.12 15.60
7.19 13.93
2.79 12.49
8.17 13.75
7.26 13.09
9.12 14.87
10.44 13.98
11.50 14.85
23.43 15.32
16.92 15.52
15.19 15.95
4.54 13.00
3.13 13.62
2.94 13.57
8.98 13.81
9.89 14.39
3.45 13.06
9.99 15.19
4.31 13.69
9.00 15.04
10.37 13.39
10.61 14.27
5.39 11.88
11.20 14.25
8.83 13.24
23.37 14.99
11.88 13.88
8.28 12.86
14.59 15.73
11.84 15.78
11.56 15.75
13.27 18.26
19.30 18.82
9.04 14.77
7.86 13.58
12.35 13.96
17.65 15.20
15.82 15.10
9.98 14.00
10.62 13.25
11.39 13.85
6.37 13.19
9.36 14.44
6.03 13.40
5.20 13.45
12.47 17.23
7.48 14.27
11.81 15.65
7.68 13.97
10.47 15.41
9.85 16.39
14.04 16.21
11.64 16.63
5.71 13.17
Autor: Lorien Arcentales
# 3. Gráfica de dispersión 
plot(x, y,
     main = "Gráfica No1:Diagrama de dispersión entre Temperatura máxima y Radiación solar
     en el estudio clima en el volcán Antisana en 2012",
     xlab = "Radiación solar (J/m²)",      # Nombre eje X
     ylab = "Temperatura máxima (°C)",     # Nombre eje Y
     col = "orange",                        # Color de los puntos
     pch = 16,                              # Tipo de punto sólido
     cex = 1.2,                             # Tamaño de los puntos
     cex.main = 1,                          # Tamaño del título
     cex.lab = 1,                           # Tamaño de los ejes
     cex.axis = 0.9,
     xlim = c(0, max(x)*1.05),   
     ylim = c(0, max(y)*1.05))                        

# 4. Conjetura

#La distribución de los puntos sugiere un modelo lineal, ya que a medida que la radiación solar aumenta, la temperatura máxima también aumenta, mostrando una relación directamente proporcional.Los puntos tienden a alinearse siguiendo una pendiente positiva. Esto indica que se puede ajustar una recta de regresión lineal para describir la relación causa-efecto entre radiación y temperatura máxima.

# 5. Cálculo de parámetros modelo lineal
regresionlineal<- lm(y~x)
# Ver los coeficientes (intercepto y pendiente)
intercepto <- coef(regresionlineal)[1]
pendiente  <- coef(regresionlineal)[2]
intercepto
## (Intercept) 
##    11.22374
pendiente
##        x 
## 0.312879
# 6. Gráfica de dispersión modelo-realidad
plot(x, y,
     main = " Gráfica No2:  Regresión lineal entre la Temperatura máxima y Radiación solar 
     en el volcán Antisana en 2012 ",
     xlab = "Radiación solar (J/m²)",      # Nombre eje X
     ylab = "Temperatura máxima (°C)",     # Nombre eje Y
     col = "orange",                        # Color de los puntos
     pch = 16,                              # Tipo de punto sólido
     cex = 1.2,                             # Tamaño de los puntos
     cex.main = 1,                          # Tamaño del título
     cex.lab = 1,                           # Tamaño de los ejes
     cex.axis = 0.9,
     xlim = c(0, max(x)*1.05),   
     ylim = c(0, max(y)*1.05))                        

abline(lm(y ~ x), col = "red", lwd = 2)

# 7. Test de bondad
#Test de Pearson, coeficiente de correlación
r<- cor(x,y)*100
r
## [1] 90.87017
# 8. Coeficiente de determinación muestral
r2<- r^2/100
r2
## [1] 82.57388
# 9. Restricciones
#Dominio [x]: D= {R+^0}
#Dominio [y]: D= {R}
# ¿Existe algún valor en dominio de x que sustituido en el modelo matemático genere un valor en y fuera de su dominio?
#No, ningún valor del dominio de x genera un valor fuera del dominio de y porque la radiación solar (x >= 0) al sustituirse en el modelo lineal produce siempre un valor de temperatura máxima (y) que pertenece a R, por lo que el modelo es consistente con los dominios definidos de ambas variables.

# 10. Aplicaciones del modelo
# La temperatura máxima esperada cuando la radiación solar es de 25 (J/m2)
Temperatura_esperada<- 0.31*25+11.25
Temperatura_esperada
## [1] 19
# 11. Conclusión 
# Entre temperatura máxima (°C) y radiación solar (J/m2) existe la relación tipo lineal cuya ecuación es y=11.223+0.312x siendo y= máxima temperatura (°C), x= radiación solar (J/m2), donde la temperaatura máxima depende en un 82.57% de la radiación solar y el 18.43% se debe a otros factores.