##### UNIVERSIDAD CENTRAL DEL ECUADOR #####
#### AUTOR: MARTIN SARMIENTO ####
### CARRERA: INGENIERÍA EN PETRÓLEOS #####
#### VARIABLE DIRECCIÓN DEL VIENTO PREDOMINANTE ####
## DATASET ##
setwd("~/R/DT_WIND")
# Cargar dataset
Datos <- read.csv("Dataset_Mundial_Final.csv", sep = ";", fileEncoding = "latin1")
# Estructura de los datos
str(Datos)## 'data.frame': 58978 obs. of 29 variables:
## $ ï..OBJECTID : int 2 3 4 5 6 7 8 9 10 11 ...
## $ code : chr "00001-AFG-P" "00002-AFG-P" "00003-AFG-P" "00004-AFG-P" ...
## $ plant_name : chr "Badghis Solar Power Plant" "Balkh solar farm" "Behsood solar farm" "Dab Pal 4 solar farm" ...
## $ country : chr "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
## $ operational_status : chr "cancelled - inferred 4 y" "cancelled - inferred 4 y" "cancelled - inferred 4 y" "shelved - inferred 2 y" ...
## $ longitude : chr "62,874" "67,121" "70,413" "66,239" ...
## $ latitude : chr "35,078" "36,714" "34,407" "33,768" ...
## $ elevation : int 918 359 629 2288 1060 1060 1392 398 410 1012 ...
## $ area : chr "6,735" "10,718" "487,729" "111,801" ...
## $ size : chr "Small" "Small" "Small" "Small" ...
## $ slope : chr "7,375" "0,49" "1,099" "6,162" ...
## $ slope_type : chr "Moderado" "Plano o casi plano" "Plano o casi plano" "Moderado" ...
## $ curvature : chr "-0,024" "0" "0" "0,045" ...
## $ curvature_type : chr "Superficies cóncavas / Valles" "Superficies planas o intermedias" "Superficies planas o intermedias" "Superficies convexas / Crestas" ...
## $ aspect : chr "96,77" "358,452" "36,18" "305,766" ...
## $ aspect_type : chr "East" "North" "Northeast" "Northwest" ...
## $ dist_to_road : chr "7037,104" "92,748" "112,117" "1705,255" ...
## $ ambient_temperature : chr "14,402" "17,875" "21,315" "8,857" ...
## $ ghi : chr "5,824" "5,579" "5,805" "6,749" ...
## $ humidity : chr "47,743" "42,305" "36,396" "37,344" ...
## $ wind_speed : chr "0,039" "0,954" "0,234" "0,943" ...
## $ wind_direction : chr "187,481" "207,422" "255,601" "160,331" ...
## $ dt_wind : chr "South" "Southwest" "West" "South" ...
## $ solar_aptitude : chr "0,72" "0,635" "0,685" "0,659" ...
## $ solar_aptitude_rounded: int 7 6 7 7 8 8 8 6 6 4 ...
## $ solar_aptittude_class : chr "Alta" "Alta" "Alta" "Alta" ...
## $ capacity : chr "32" "40" "60" "3000" ...
## $ optimal_tilt : chr "30" "31" "31,063" "33" ...
## $ pv_potential : chr "4,613" "4,408" "4,572" "5,424" ...
##
## 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
# Extraer variable
Wind <- Datos$dt_wind
# EDAvariable nominal
TDF_wind <- table(Wind)
tabla_wind <- as.data.frame(TDF_wind)
hi <- tabla_wind$Freq/sum(tabla_wind$Freq)
hi_porc <- hi*100
sum(hi_porc)## [1] 100
### Agrupación ####
tabla_con_grupos <- tabla_WIND %>%
mutate(grupo = case_when(
grepl("Northeast", Velocidad, ignore.case = TRUE) ~ "Noreste (NE)",
grepl("Northwest", Velocidad, ignore.case = TRUE) ~ "Noroeste (NW)",
grepl("Southeast", Velocidad, ignore.case = TRUE) ~ "Sureste (SE)",
grepl("Southwest", Velocidad, ignore.case = TRUE) ~ "Suroeste (SW)",
grepl("North", Velocidad, ignore.case = TRUE) ~ "Norte (N)",
grepl("South", Velocidad, ignore.case = TRUE) ~ "Sur (S)",
grepl("East", Velocidad, ignore.case = TRUE) ~ "Este (E)",
grepl("West", Velocidad, ignore.case = TRUE) ~ "Oeste (W)",
TRUE ~ "No Asignado / Otros"))
# Definimos el orden
orden_horario <- c(
"Norte (N)",
"Noreste (NE)",
"Este (E)",
"Sureste (SE)",
"Sur (S)",
"Suroeste (SW)",
"Oeste (W)",
"Noroeste (NW)",
"No Asignado / Otros",
"TOTAL")
tabla_resumen <- tabla_con_grupos %>%
mutate(grupo = factor(grupo, levels = orden_horario)) %>%
group_by(grupo) %>%
summarise(
Frecuencia = sum(Freq),
Porcentaje = sum(hi_porc)) %>%
arrange(grupo)
# Renombramos columnas
colnames(tabla_resumen) <- c("Velocidad","ni","hi (%)")
# Tabla Intermedia GT
tabla_resumen_gt <- tabla_resumen %>%
gt() %>%
tab_header(
title = md("**Tabla N°1 de Agrupación por Dirección del Viento Predominante de las Plantas Solares**")) %>%
tab_source_note(source_note = "Autor: Martin Sarmiento") %>%
cols_label(
Velocidad = "Dirección del Viento Predominante",
ni = "Frecuencia (ni)",
`hi (%)` = "Porcentaje (hi%)") %>%
fmt_number(columns = c(`hi (%)`), decimals = 2) %>%
tab_options(
heading.title.font.size = px(16),
heading.subtitle.font.size = px(14),
column_labels.background.color = "#F0F0F0")
# Mostramos la tabla
tabla_resumen_gt| Tabla N°1 de Agrupación por Dirección del Viento Predominante de las Plantas Solares | ||
| Dirección del Viento Predominante | Frecuencia (ni) | Porcentaje (hi%) |
|---|---|---|
| Norte (N) | 153 | 0.26 |
| Noreste (NE) | 160 | 0.27 |
| Este (E) | 8118 | 13.76 |
| Sureste (SE) | 10675 | 18.10 |
| Sur (S) | 7327 | 12.42 |
| Suroeste (SW) | 21042 | 35.68 |
| Oeste (W) | 11472 | 19.45 |
| Noroeste (NW) | 31 | 0.05 |
| Autor: Martin Sarmiento | ||
#### Crear fila de totales ####
totales <- c("TOTAL", sum(tabla_resumen$ni, na.rm=TRUE), sum(tabla_resumen$`hi (%)`, na.rm=TRUE))
tabla_Wind_Final <- rbind(tabla_resumen, totales)
# Convertir a números para GT
tabla_Wind_Final$ni <- as.numeric(tabla_Wind_Final$ni)
tabla_Wind_Final$`hi (%)` <- as.numeric(tabla_Wind_Final$`hi (%)`)
# TABLA 1
tabla_gt <- tabla_Wind_Final %>%
gt() %>%
tab_header(
title = md("**Tabla N°2 de Distribución de Frecuencias de la Dirección del Viento Predominante de las Plantas Solares**")) %>%
tab_source_note(source_note = "Autor: Martin Sarmiento") %>%
cols_label(
Velocidad = "Dirección del Viento Predominante",
ni = "Frecuencia (ni)",
`hi (%)` = "Porcentaje (hi%)") %>%
fmt_number(columns = c(`hi (%)`), decimals = 2) %>%
tab_options(
heading.title.font.size = px(16),
heading.subtitle.font.size = px(14),
column_labels.background.color = "#F0F0F0")
tabla_gt| Tabla N°2 de Distribución de Frecuencias de la Dirección del Viento Predominante de las Plantas Solares | ||
| Dirección del Viento Predominante | Frecuencia (ni) | Porcentaje (hi%) |
|---|---|---|
| Norte (N) | 153 | 0.26 |
| Noreste (NE) | 160 | 0.27 |
| Este (E) | 8118 | 13.76 |
| Sureste (SE) | 10675 | 18.10 |
| Sur (S) | 7327 | 12.42 |
| Suroeste (SW) | 21042 | 35.68 |
| Oeste (W) | 11472 | 19.45 |
| Noroeste (NW) | 31 | 0.05 |
| TOTAL | 58978 | 100.00 |
| Autor: Martin Sarmiento | ||
par(mar = c(13, 6, 4, 2))
barplot(tabla_resumen$ni,
main="",
xlab = "",
ylab = "",
col = "#FFB6C1",
ylim = c(0, max(tabla_resumen$ni) * 1.1),
names.arg=tabla_resumen$Velocidad,
cex.names = 0.7,
las = 2)
mtext("Cantidad", side = 2, line = 4.5, cex = 1, font = 1)
mtext("Dirección del Viento Predominante", side = 1, line = 9)
mtext("Gráfica N°1: Distribución de Cantidad de Plantas Solares por Dirección del Viento Predominante",
side = 3,
line = 2,
adj = 0.5,
cex = 0.8,
font = 2)par(mar = c(13, 6, 4, 2))
barplot(tabla_resumen$ni,
main="",
xlab = "",
ylab = "",
col = "#FFB6C1",
ylim = c(0,58771),
names.arg=tabla_resumen$Velocidad,
cex.names = 0.7,
las = 2)
mtext("Cantidad", side = 2, line = 4.5, cex = 1, font = 1)
mtext("Dirección del Viento Predominante", side = 1, line = 9)
mtext("Gráfica N°2: Distribución de Cantidad de Plantas Solares por Dirección del Viento Predominante",
side = 3,
line = 2,
adj = 0.5,
cex = 0.8,
font = 2)par(mar = c(10, 4, 4, 2))
bp3 <- barplot(tabla_resumen$`hi (%)`,
main="",
xlab = "",
ylab = "Porcentaje %",
col = "#FFB6C1",
ylim = c(0, max(tabla_resumen$`hi (%)`) * 1.3),
names.arg=tabla_resumen$Velocidad,
cex.names = 0.7,
las = 2)
mtext("Dirección del Viento Predominante", side = 1, line = 9)
mtext("Gráfica N°3: Distribución Porcentual de las Plantas Solares por Dirección del Viento Predominante",
side = 3,
line = 2,
adj = 0.5,
cex = 0.8,
font = 2)
text(x = bp3, y = tabla_resumen$`hi (%)`,
labels = paste0(round(tabla_resumen$`hi (%)`, 2), "%"),
pos = 3, cex = 0.8, col = "black")par(mar = c(10, 4, 4, 2))
bp4 <- barplot(tabla_resumen$`hi (%)`,
main="",
xlab = "",
ylab = "Porcentaje %",
col = "#FFB6C1",
ylim = c(0,100),
names.arg=tabla_resumen$Velocidad,
cex.names = 0.7,
las = 2)
mtext("Dirección del Viento Predominante", side = 1, line = 9)
mtext("Gráfica N°4: Distribución Porcentual de las Plantas Solares por Dirección del Viento Predominante",
side = 3,
line = 2,
adj = 0.5,
cex = 0.8,
font = 2)
text(x = bp4, y = tabla_resumen$`hi (%)`,
labels = paste0(round(tabla_resumen$`hi (%)`, 2), "%"),
pos = 3, cex = 0.8, col = "black")par(mar = c(5, 6, 4, 10), xpd = TRUE)
colores_base <- c("#FFB6C1", "#8B5F65")
paleta_verde_pro <- colorRampPalette(colores_base)
colores_finales <- paleta_verde_pro(length(tabla_resumen$Velocidad))
pie(tabla_resumen$`hi (%)`,
main = "",
radius = 0.9,
labels = paste0(round(tabla_resumen$`hi (%)`, 2), "%"),
col = colores_finales,
cex = 0.8,
border = "black")
par(xpd = TRUE)
mtext("Gráfica N°5: Distribución Porcentual de las Plantas Solares por Dirección del Viento Predominante",
side = 3,
line = 2,
adj = 0.5,
cex = 0.7,
font = 2)
legend(x = 1.3, y = 1,
legend = tabla_resumen$Velocidad,
fill = colores_finales,
cex = 0.7,
bty = "n",
title = "Dirección del Viento Predominante")# Cálculo de la Moda
moda_wind <- tabla_resumen$Velocidad[which.max(tabla_resumen$ni)]
# Tabla de Indicadores
tabla_indicadores <- data.frame(
"Variable" = "Dirección del Viento Predominante",
"Rango" = "N, NE, E, SE, S, SW, W, NW",
"Media (X)" = "-",
"Mediana (Me)" = "-",
"Moda (Mo)" = moda_wind,
"Varianza (V)" = "-",
"Desv. Est. (Sd)" = "-",
"C.V. (%)" = "-",
"Asimetría (As)" = "-",
"Curtosis (K)" = "-",
check.names = FALSE)
# Generar Tabla de Indicadores
tabla_conclusiones_gt <- tabla_indicadores %>%
gt() %>%
tab_header(title = md("**Tabla N°3 de Conclusiones de la Dirección del Viento Predominante de las Plantas Solares**")) %>%
tab_source_note(source_note = "Autor: Martin Sarmiento") %>%
tab_options(column_labels.background.color = "#F0F0F0")
tabla_conclusiones_gt| Tabla N°3 de Conclusiones de la Dirección del Viento Predominante de las Plantas Solares | |||||||||
| Variable | Rango | Media (X) | Mediana (Me) | Moda (Mo) | Varianza (V) | Desv. Est. (Sd) | C.V. (%) | Asimetría (As) | Curtosis (K) |
|---|---|---|---|---|---|---|---|---|---|
| Dirección del Viento Predominante | N, NE, E, SE, S, SW, W, NW | - | - | Suroeste (SW) | - | - | - | - | - |
| Autor: Martin Sarmiento | |||||||||
La variable “Dirección del Viento Predominante”, presenta como valor más frecuente es Suroeste (SW) , con una participación destacada en la muestra.