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.
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)
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.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.
Todos las observaciones climáticas en el volcán Antisana
U: {x/x 𝜖 Observaciones climáticas ^ Volcán(x)=“Antisana”}.
Cada uno de las observaciones climáticas en el volcán Antisana
Individuo: Xi: i=1,2,3,…,n
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}.
A continuación se presenta la tabla de variables analizadas en el estudio:
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 | |||||||||
#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 | ||||||||
# 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 | ||||||||
# 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 | ||||||||
# 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 | ||||||||
# 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 | ||||||||
# 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 | ||||||||
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.
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.
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.
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.
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.
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.
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.
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
# 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).
# 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).
# 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).
# 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.