Escritura

setwd("/cloud/project")

Datos <- read.csv("DataSet_.csv", sep = ";", fileEncoding = "latin1")

install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
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
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
library(ggplot2)

Tabla Base

Slope <- Datos$slope_type
TDF_slope <- table(Slope)

tabla_slope <- as.data.frame(TDF_slope)
hi <- tabla_slope$Freq/sum(tabla_slope$Freq)
hi_porc <- hi*100

tabla_SLOPE <- data.frame(tabla_slope, hi_porc)

colnames(tabla_SLOPE)[1] <- "TipoPendiente"

Agrupación

tabla_resumen <- tabla_SLOPE %>%
  mutate(grupo = case_when(
    grepl("Plano", TipoPendiente, ignore.case = TRUE) ~ "Plano o casi plano",
    grepl("Suave", TipoPendiente, ignore.case = TRUE) ~ "Suave",
    grepl("Moderado", TipoPendiente, ignore.case = TRUE) ~ "Moderado",
    grepl("Muy fuerte", TipoPendiente, ignore.case = TRUE) ~ "Muy fuerte",
    grepl("Fuerte", TipoPendiente, ignore.case = TRUE) ~ "Fuerte",
    grepl("Escarpado", TipoPendiente, ignore.case = TRUE) ~ "Escarpado o abrupto",
    TRUE ~ "No Asignado / Otros"
  )) %>%
  group_by(grupo) %>%
  summarise(
    Frecuencia = sum(Freq),
    Porcentaje = sum(hi_porc)
  ) %>%
  arrange(desc(Frecuencia))

colnames(tabla_resumen) <- c("Pendiente","ni","hi (%)")
tabla_resumen
## # A tibble: 7 × 3
##   Pendiente              ni `hi (%)`
##   <chr>               <int>    <dbl>
## 1 Plano o casi plano   6183  86.6   
## 2 Suave                 776  10.9   
## 3 Moderado              147   2.06  
## 4 Fuerte                 27   0.378 
## 5 Muy fuerte              6   0.0840
## 6 No Asignado / Otros     2   0.0280
## 7 Escarpado o abrupto     1   0.0140

Totales

totales <- c(
  Pendiente = "TOTAL",
  ni = sum(tabla_resumen$ni),
  hi = sum(tabla_resumen$`hi (%)`)
)

tabla_Slope_Final <- rbind(tabla_resumen, totales)
tabla_Slope_Final
## # A tibble: 8 × 3
##   Pendiente           ni    `hi (%)`          
##   <chr>               <chr> <chr>             
## 1 Plano o casi plano  6183  86.5723886866424  
## 2 Suave               776   10.8653038364604  
## 3 Moderado            147   2.05824698963876  
## 4 Fuerte              27    0.378045365443853 
## 5 Muy fuerte          6     0.0840100812097452
## 6 No Asignado / Otros 2     0.0280033604032484
## 7 Escarpado o abrupto 1     0.0140016802016242
## 8 TOTAL               7142  100

GRÁFICOS

Gráfico 1 – Frecuencia local

par(mar = c(10, 4, 4, 2))
barplot(tabla_resumen$ni,main="Gráfica N°1: Distribución del tipo de pendiente en proyectos",
        ylab = "Cantidad",
        col = "skyblue",
        names.arg=tabla_resumen$Pendiente,
        cex.names = 0.7, las = 2)
mtext("Tipo de Pendiente", side = 1, line = 9)

Gráfico 2 – Frecuencia global

barplot(tabla_resumen$ni,main="Gráfica N°2: Distribución del tipo de pendiente (Global)",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,8000),
        names.arg=tabla_resumen$Pendiente,
        cex.names = 0.7, las = 2)
mtext("Tipo de Pendiente", side = 1, line = 9)

Gráfico 3 – Porcentaje local

barplot(tabla_resumen$`hi (%)`,main="Gráfica N°3: Distribución porcentual del tipo de pendiente",
        ylab = "Porcentaje %",
        col = "skyblue",
        names.arg=tabla_resumen$Pendiente,
        cex.names = 0.7, las = 2)
mtext("Tipo de Pendiente", side = 1, line = 9)

Gráfico 4 – Porcentaje global

barplot(tabla_resumen$`hi (%)`,main="Gráfica N°4: Distribución porcentual global",
        ylab = "Porcentaje %",
        col = "skyblue",
        ylim = c(0,100),
        names.arg=tabla_resumen$Pendiente,
        cex.names = 0.7, las = 2)
mtext("Tipo de Pendiente", side = 1, line = 9)

Gráfico 5 – Diagrama Circular

pie(tabla_resumen$`hi (%)`,
    main = "Gráfica N°5: Distribución porcentual del tipo de pendiente",
    radius = 0.9,
    labels = paste0(round(tabla_resumen$`hi (%)`,2),"%"),
    col = colores <- c(rev(heat.colors(length(tabla_resumen$Pendiente)))),
    cex = 0.5)

legend(x = 1, y = 0.8,
       legend = tabla_resumen$Pendiente,
       fill = colores,
       cex = 0.6,
       title = "Tipo de Pendiente")

par(xpd = TRUE)

Tabla de Conlusiones

install.packages("knitr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
library(knitr)

tabla_indicadores <- data.frame(
  "Variable" = "Tipo de Pendiente",
  "Rango" = "Categorías de inclinación",
  "X" = "-",
  "Me" = "-",
  "Mo" = "Plano o casi plano",
  "V" = "-",
  "Sd" = "-",
  "Cv" = "-",
  "As" = "-",
  "K" = "-",
  "Valores Atipicos" = "-"
)

kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable Tipo de Pendiente")
Conclusiones de la variable Tipo de Pendiente
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Tipo de Pendiente Categorías de inclinación - - Plano o casi plano - - - - - -