Relación entre Radiación Solar y Temperatura Máxima en el Antisana

1 Carga de datos

library(readr)
dataANTISANA <- read_delim("C:/Users/Usuario/Desktop/TRABAJO DE ESTADISTICA/PDF-EXCEL-QGIS/dataANTISANA.csv", delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 366 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): Date
## dbl (9): Longitude, Latitude, Elevation, Max Temperature, Min Temperature, P...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

2 Tabla de pares de valores

Se comparan variables por causa y efecto

x <- dataANTISANA$Solar
y <- dataANTISANA$`Max Temperature`

tabla_pares <- data.frame(
  solar = x, 
  Max_Temp = y
)

print("Tabla de Pares: Elevación (x) y Radiación Solar (y)")
## [1] "Tabla de Pares: Elevación (x) y Radiación Solar (y)"
head(tabla_pares)
##   solar Max_Temp
## 1 15.98    16.10
## 2 12.25    15.50
## 3  4.58    11.55
## 4  4.32    12.02
## 5  3.86    11.73
## 6  9.57    12.11

3 Gráfica de nubes de puntos

library(ggplot2)

ggplot(dataANTISANA, aes(x = Solar, y = `Max Temperature`)) +
  geom_point(color = "darkblue", alpha = 0.6, size = 2) + 
  theme_minimal() +                                      
  labs(title = "Gráfica No.1: Disperción entre la  Radiación 
       Solar(x) y la Temperatura Máxima(y)",
       subtitle = "Estudio: Datos Antisana",
       x = "Rad. Solar (MJ/m²)",
       y = "Temperatura Máxima (°C)") +
  theme(plot.title = element_text(hjust = 0.6, face = "bold"))

4 Cálculo de parámetros

El valor de b0 (Intercepto) es: 11.22374 El valor de b1 (Pendiente) es: 0.312879

5 Sobreescritura de la recta sobre la nube de puntos

#library(ggplot2)

ggplot(dataANTISANA, aes(x = Solar, y = `Max Temperature`)) +
  geom_point(color = "darkblue", alpha = 0.6, size = 2) + 
  
  # 2. Recta de regresión (La línea de y-hat)
  # method = "lm" indica que es un modelo lineal
  # se = TRUE es la sombra del intervalo de confianza 
  geom_smooth(method = "lm", color = "red", se = T, linewidth = 1) +
  
  theme_minimal() +                                      
  labs(title = "Gráfica No.2: Comparación realidad y modelo de la Radiación Solar y la
           Temperatura Máxima",
       subtitle = "Estudio: Datos Antisana",
       x = "Rad. Solar (MJ/m²)",
       y = expression(paste("Temperatura Máxima (", hat(y), ") (°C)"))) + 
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))
## `geom_smooth()` using formula = 'y ~ x'

6 Test de Pearson

test_pearson <- cor.test(x, y, method = "pearson")

r <- as.numeric(test_pearson$estimate)

r_cuadrado_pct <- (r^2) * 100

r_etiqueta <- dplyr::case_when(
  abs(r) < 0.3 ~ "Baja",
  abs(r) < 0.7 ~ "Media",
  TRUE ~ "Alta"
)

cat("Coeficiente de correlación (r):", round(r, 4), "\n")
## Coeficiente de correlación (r): 0.9087
cat("Porcentaje de relación lineal (r en %):", round(r * 100, 2), "%\n")
## Porcentaje de relación lineal (r en %): 90.87 %
cat("Porcentaje de determinación (R²):", round(r_cuadrado_pct, 2), "%\n")
## Porcentaje de determinación (R²): 82.57 %

6.1 Tabla resumen

library(gt)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
test_status <- if_else(test_pearson$p.value < 0.05, 
                       paste0("Aprobado (r = ", round(r * 100, 2), "%)"), 
                       paste0("No Aprobado (r = ", round(r * 100, 2), "%)"))

data.frame(
  conjetura = "Lineal",
  ecuacion = sprintf("y = %.4f + (%.4f)x", b0, b1),
  test = test_status,
  correlacion = sprintf("%.4f (%s)", r, r_etiqueta)
) %>%
  gt() %>%
  tab_header(
    title = md("**CONCLUSIONES Y ESTADÍSTICOS**"),
    subtitle = "Comparación: Radiación Solar y Temperatura Máxima (Antisana)"
  ) %>%
  cols_label(
    conjetura = "Conjetura del Modelo",
    ecuacion = html("Ecuación (y&#770; = &beta;<sub>0</sub> + &beta;<sub>1</sub>x)"),
    test = "Test de Pearson",
    correlacion = "Coeficiente de Correlación"
  ) %>%
  tab_source_note(source_note = "Autor: Grupo 3") %>%
  tab_options(
    heading.background.color = "#2c3e50", 
    heading.title.font.size = px(22),
    column_labels.font.weight = "bold",
    table.width = pct(100)
  ) %>%
  tab_style(
    style = cell_text(color = "white"),
    locations = cells_title(groups = c("title", "subtitle"))
  ) %>%
  cols_align(align = "center") %>%
  tab_style(
    style = cell_text(color = "#27ae60", weight = "bold"),
    locations = cells_body(
      columns = test,
      rows = grepl("Aprobado", test)
    )
  )
CONCLUSIONES Y ESTADÍSTICOS
Comparación: Radiación Solar y Temperatura Máxima (Antisana)
Conjetura del Modelo Ecuación (ŷ = β0 + β1x) Test de Pearson Coeficiente de Correlación
Lineal y = 11.2237 + (0.3129)x Aprobado (r = 90.87%) 0.9087 (Alta)
Autor: Grupo 3

7 Conclusiones

Entre la Radiación Solar y la Temperatura Máxima en el Antisana existe una alta relación de tipo Lineal, cuya ecuación matemática está representada por \(\hat{y} = 11.2237 + (0.3129)x\), siendo ‘x’ la radiación solar en \(MJ/m^2\) y ‘y’ la temperatura máxima estimada en °C.

El coeficiente de correlación de Pearson es de 90.87%, lo que confirma que el modelo tiene un ajuste sólido para la toma de decisiones.

Por ejemplo, para una radiación solar de 20 \(MJ/m^2\), se estima una temperatura máxima (\(\hat{y}\)) de 17.48 °C.