
Escritura
##### UNIVERSIDAD CENTRAL DEL ECUADOR #####
#### AUTOR: MARTIN SARMIENTO ####
### CARRERA: INGENIERÍA EN PETRÓLEOS #####
#### VARIABLE ASPECT ####
## DATASET ##
setwd("/cloud/project")
# Cargar dataset
Datos <- read.csv("DataSet_.csv", sep = ";", fileEncoding = "latin1")
# Estructura de los datos
str(Datos)
## 'data.frame': 7142 obs. of 26 variables:
## $ fid : int 1 2 3 4 5 6 7 8 9 10 ...
## $ objectid : int 127 128 129 130 131 132 133 134 135 136 ...
## $ code : chr "Arg-00001" "Arg-00002" "Arg-00003" "Arg-00004" ...
## $ country : chr "Argentina" "Argentina" "Argentina" "Argentina" ...
## $ plant_name : chr "Aconcagua solar farm" "Aconcagua solar farm" "Altiplano 200 Solar Power Plant" "Altiplano 200 Solar Power Plant" ...
## $ operational_status : chr "announced" "announced" "operating" "operating" ...
## $ longitude : num -68.9 -68.9 -66.9 -66.9 -68.9 ...
## $ latitude : num -33 -33 -24.1 -24.1 -33.3 ...
## $ elevation : int 929 929 4000 4000 937 865 858 858 858 858 ...
## $ area : num 0 0 4397290 5774 0 ...
## $ slope : num 0.574 0.574 1.603 6.243 0.903 ...
## $ slope_type : chr "Plano o casi plano" "Plano o casi plano" "Plano o casi plano" "Moderado" ...
## $ curvature : num 0.000795 0.000795 -0.002781 -0.043699 0.002781 ...
## $ curvature_type : chr "Superficies planas o intermedias" "Superficies planas o intermedias" "Superficies planas o intermedias" "Superficies cóncavas / Valles" ...
## $ aspect : num 55.1 55.1 188.7 270.9 108.4 ...
## $ aspect_type : chr "Northeast" "Northeast" "South" "West" ...
## $ ghi : num 6.11 6.11 8.01 7.88 6.12 ...
## $ solar_aptitude : num 0.746 0.746 0.8 0.727 0.595 ...
## $ solar_aptittude_class: chr "Alta" "Alta" "Alta" "Alta" ...
## $ humidity : num 0 0 53.7 53.7 0 ...
## $ wind_speed : num 3.78 3.78 7.02 8.33 3.87 ...
## $ wind_direction : num 0 0 55.1 55.1 0 ...
## $ ambient_temperature : num 12.6 12.6 6.8 6.8 13.1 ...
## $ optimal_tilt : int 31 31 26 26 31 33 30 30 30 30 ...
## $ peak_power_per_hour : num 4.98 4.98 6.39 6.39 4.97 ...
## $ total_power : num 25 66.2 101 107 180 ...
# Instalamos paquetes de las librerias
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(gt)
Tabla Base
# Extraer y crear tabla base
Aspect <- Datos$aspect_type
# EDAvariable nominal
TDF_aspect <- table(Aspect)
tabla_aspect <- as.data.frame(TDF_aspect)
hi <- tabla_aspect$Freq/sum(tabla_aspect$Freq)
hi_porc <- hi*100
sum(hi_porc)
## [1] 100
tabla_ASPECT <- data.frame(tabla_aspect, hi_porc)
# Renombramos la primera columna a "Orientacion"
colnames(tabla_ASPECT)[1] <- "Orientacion"
Agrupación
### Agrupación ####
tabla_resumen <- tabla_ASPECT %>%
mutate(grupo = case_when(
grepl("Northeast", Orientacion, ignore.case = TRUE) ~ "Noreste (NE)",
grepl("Northwest", Orientacion, ignore.case = TRUE) ~ "Noroeste (NW)",
grepl("Southeast", Orientacion, ignore.case = TRUE) ~ "Sureste (SE)",
grepl("Southwest", Orientacion, ignore.case = TRUE) ~ "Suroeste (SW)",
grepl("North", Orientacion, ignore.case = TRUE) ~ "Norte (N)",
grepl("South", Orientacion, ignore.case = TRUE) ~ "Sur (S)",
grepl("East", Orientacion, ignore.case = TRUE) ~ "Este (E)",
grepl("West", Orientacion, ignore.case = TRUE) ~ "Oeste (W)",
grepl("Flat", Orientacion, ignore.case = TRUE) ~ "Plano (Flat)",
TRUE ~ "No Asignado/Otros"
)) %>%
group_by(grupo) %>%
summarise(
Frecuencia = sum(Freq),
Porcentaje = sum(hi_porc)
) %>%
arrange(desc(Frecuencia))
# Renombramos la primera columna a "Orientacion"
colnames(tabla_resumen) <- c("Orientacion","ni","hi (%)")
tabla_resumen_gt <- tabla_resumen %>%
gt() %>%
tab_header(
title = md("**TABLA DE AGRUPACIÓN**"),
subtitle = "Frecuencias por Orientación (Sin Totales)"
) %>%
tab_source_note(
source_note = "Autor: Martin Sarmiento"
) %>%
cols_label(
Orientacion = "Orientación",
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 DE AGRUPACIÓN |
| Frecuencias por Orientación (Sin Totales) |
| Orientación |
Frecuencia (ni) |
Porcentaje (hi%) |
| Noroeste (NW) |
1022 |
14.31 |
| Oeste (W) |
1018 |
14.25 |
| Norte (N) |
981 |
13.74 |
| Sureste (SE) |
915 |
12.81 |
| Noreste (NE) |
865 |
12.11 |
| Este (E) |
847 |
11.86 |
| Sur (S) |
774 |
10.84 |
| Suroeste (SW) |
697 |
9.76 |
| Plano (Flat) |
21 |
0.29 |
| No Asignado/Otros |
2 |
0.03 |
| Autor: Martin Sarmiento |
Totales
#### Crear fila de totales ####
totales <- c("TOTAL", sum(tabla_resumen$ni), sum(tabla_resumen$`hi (%)`))
tabla_Aspect_Final <- rbind(tabla_resumen, totales)
tabla_Aspect_Final$ni <- as.numeric(tabla_Aspect_Final$ni)
tabla_Aspect_Final$`hi (%)` <- as.numeric(tabla_Aspect_Final$`hi (%)`)
# TABLA 1
tabla_gt <- tabla_Aspect_Final %>%
gt() %>%
tab_header(
title = md("**TABLA 1**"),
subtitle = "Distribución de la Orientación del Terreno"
) %>%
tab_source_note(
source_note = "Autor: Martin Sarmiento"
) %>%
cols_label(
Orientacion = "Orientación",
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 1 |
| Distribución de la Orientación del Terreno |
| Orientación |
Frecuencia (ni) |
Porcentaje (hi%) |
| Noroeste (NW) |
1022 |
14.31 |
| Oeste (W) |
1018 |
14.25 |
| Norte (N) |
981 |
13.74 |
| Sureste (SE) |
915 |
12.81 |
| Noreste (NE) |
865 |
12.11 |
| Este (E) |
847 |
11.86 |
| Sur (S) |
774 |
10.84 |
| Suroeste (SW) |
697 |
9.76 |
| Plano (Flat) |
21 |
0.29 |
| No Asignado/Otros |
2 |
0.03 |
| TOTAL |
7142 |
100.00 |
| Autor: Martin Sarmiento |
GRÁFICOS
Gráfico 1 – Frecuencia local
# Diagrama de barrras local ni
par(mar = c(10, 4, 4, 2))
barplot(tabla_resumen$ni,main="Gráfica N°1: Distribución de la orientación del terreno",
xlab = "",
ylab = "Cantidad",
col = "#EEE685",
names.arg=tabla_resumen$Orientacion,
cex.names = 0.7,
las = 2)
mtext("Orientación", side = 1, line = 9)

Gráfico 2 – Frecuencia global
# Diagrama de barrras global ni
par(mar = c(10, 4, 4, 2))
barplot(tabla_resumen$ni,main="Gráfica N°2: Distribución de la orientación (Global)",
xlab = "",
ylab = "Cantidad",
col = "#EEE685",
ylim = c(0,8000),
names.arg=tabla_resumen$Orientacion,
cex.names = 0.7,
las = 2)
mtext("Orientación", side = 1, line = 10)

Gráfico 3 – Porcentaje local
# Diagrama de barrras local hi
par(mar = c(10, 4, 4, 2))
barplot(tabla_resumen$`hi (%)`,main="Gráfica N°3: Distribución porcentual de la orientación",
xlab = "",
ylab = "Porcentaje %",
col = "#EEE685",
names.arg=tabla_resumen$Orientacion,
cex.names = 0.7,
las = 2)
mtext("Orientación", side = 1, line = 10)

Gráfico 4 – Porcentaje global
# Diagrama de barrras global hi
par(mar = c(10, 4, 4, 2))
barplot(tabla_resumen$`hi (%)`,main="Gráfica N°4: Distribución porcentual global",
xlab = "",
ylab = "Porcentaje %",
col = "#EEE685",
ylim = c(0,100),
names.arg=tabla_resumen$Orientacion,
cex.names = 0.7,
las = 2)
mtext("Orientación", side = 1, line = 10)

Gráfico 5 – Diagrama Circular
paleta_tierra <- colorRampPalette(c("#FFFACD", "#EEE685", "#8B864E"))
colores_aspect <- paleta_tierra(length(tabla_resumen$Orientacion))
# Diagrama circular
pie(tabla_resumen$`hi (%)`,
main = "Gráfica N°5: Distribución porcentual de la orientación",
radius = 0.9,
labels = paste0(round(tabla_resumen$`hi (%)`, 2), "%"),
col = colores_aspect,
cex = 0.8,
border = "black"
)
par(xpd = TRUE)
# Leyenda del diagrama circular
legend(x = 1.3, y = 1,
legend = tabla_resumen$Orientacion,
fill = colores_aspect,
cex = 0.7,
bty = "n",
title = "Orientación")

Tabla de Conlusiones
# Tabla de conclusiones
tabla_indicadores <- data.frame(
"Variable" = "Orientación (Aspect)",
"Rango" = "Puntos Cardinales",
"X" = "-", "Me" = "-", "Mo" = "Norte (N)",
"V" = "-", "Sd" = "-", "Cv" = "-", "As" = "-", "K" = "-",
"Valores_Atipicos" = "-"
)
# Generar Tabla de Conclusiones Profesional
tabla_conclusiones_gt <- tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**CONCLUSIONES**"),
subtitle = "Análisis de la variable Orientación"
) %>%
tab_source_note(
source_note = "Autor: Martin Sarmiento"
) %>%
cols_label(
Valores_Atipicos = "Valores Atípicos"
) %>%
tab_options(column_labels.background.color = "#f0f0f0")
tabla_conclusiones_gt
| CONCLUSIONES |
| Análisis de la variable Orientación |
| Variable |
Rango |
X |
Me |
Mo |
V |
Sd |
Cv |
As |
K |
Valores Atípicos |
| Orientación (Aspect) |
Puntos Cardinales |
- |
- |
Norte (N) |
- |
- |
- |
- |
- |
- |
| Autor: Martin Sarmiento |