#==============================ENCABEZADO===================================
# TEMA: EI Variables Cualitativas
# AUTOR: GRUPO 4
# FECHA: 07-01-2026
#==============================CARGA DE DATOS===================================
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
setwd("C:/Users/HP/Documents/PROYECTO ESTADISTICA/RStudio")
datos <- read.csv("tablap.csv", header = TRUE, dec = ",", sep = ";")
#=========================ANALISIS VARIABLES NOMINALES==========================
#================================CUENCA=======================================
cuenca_inf <- datos$Basin
TDPcuenca_inf <- as.data.frame(table(cuenca_inf))
names(TDPcuenca_inf) <- c("CUENCA", "ni_FA")
TDPcuenca_inf$FO <- round((TDPcuenca_inf$ni_FA / sum(TDPcuenca_inf$ni_FA)) * 100, 2)
TDPcuencafinal_inf <- rbind(TDPcuenca_inf, data.frame(CUENCA = "TOTAL",
ni_FA = sum(TDPcuenca_inf$ni_FA),
FO = 100))
TDPcuencafinal_inf <- TDPcuencafinal_inf[, c("CUENCA", "FO")]
names(TDPcuencafinal_inf) <- c("VARIABLE", "FO")
barplot(TDPcuencafinal_inf$FO[TDPcuencafinal_inf$VARIABLE != "TOTAL"],
main = "GRAFICA 1: DISTRIBUCION DE PROBABILIDAD DE CUENCA",
xlab = "CUENCA", ylab = "PROBABILIDAD (%)", col = "darkgreen",
names.arg = TDPcuencafinal_inf$VARIABLE[TDPcuencafinal_inf$VARIABLE != "TOTAL"],
las = 1)

#==========================ECORREGION=============================
ecorreg_inf <- datos$Ecoregion
TDPecorreg_inf <- as.data.frame(table(ecorreg_inf))
names(TDPecorreg_inf) <- c("ECORREGION", "ni_FA")
TDPecorreg_inf$FO <- round((TDPecorreg_inf$ni_FA / sum(TDPecorreg_inf$ni_FA)) * 100, 2)
TDPecorregfinal_inf <- rbind(TDPecorreg_inf, data.frame(ECORREGION = "TOTAL",
ni_FA = sum(TDPecorreg_inf$ni_FA),
FO = 100))
TDPecorregfinal_inf <- TDPecorregfinal_inf[, c("ECORREGION", "FO")]
names(TDPecorregfinal_inf) <- c("VARIABLE", "FO")
barplot(TDPecorregfinal_inf$FO[TDPecorregfinal_inf$VARIABLE != "TOTAL"],
main = "GRAFICA 2: DISTRIBUCION DE PROBABILIDAD DE ECORREGION",
xlab = "ECORREGION", ylab = "PROBABILIDAD (%)", col = "slategray3",
names.arg = TDPecorregfinal_inf$VARIABLE[TDPecorregfinal_inf$VARIABLE != "TOTAL"],
las = 2)

#=========================ANALISIS VARIABLES ORDINALES==========================
#==================COMPLEJIDAD DE ESTRUCTURA DE REVESTIMIENTO================
g_complejidad <- factor(datos$Complexity.of.the.casing.structure, levels = as.character(0:7), ordered = TRUE)
Tabla_complejidad <- as.data.frame(table(g_complejidad))
names(Tabla_complejidad) <- c("COMPLEJIDAD", "Frecuencia_Absoluta")
Tabla_complejidad$Frecuencia_Relativa_Porcentaje <- round(
(Tabla_complejidad$Frecuencia_Absoluta / sum(Tabla_complejidad$Frecuencia_Absoluta)) * 100, 2)
print(Tabla_complejidad)
## COMPLEJIDAD Frecuencia_Absoluta Frecuencia_Relativa_Porcentaje
## 1 0 2476 19.71
## 2 1 33 0.26
## 3 2 5383 42.85
## 4 3 4138 32.94
## 5 4 503 4.00
## 6 5 25 0.20
## 7 6 2 0.02
## 8 7 1 0.01
#------ANALISIS BERNOULLI (0 Y 1)-----
datos_0_1 <- datos$Complexity.of.the.casing.structure[datos$Complexity.of.the.casing.structure %in% c(0,1)]
datos_0_1_num <- as.numeric(as.character(datos_0_1))
if(length(datos_0_1_num) > 0){
tabla_0_1 <- table(factor(datos_0_1, levels = c("0","1")))
df_0_1 <- as.data.frame(tabla_0_1)
names(df_0_1) <- c("COMPLEJIDAD", "FO")
df_0_1$Porcentaje_Experimental <- round(df_0_1$FO / sum(df_0_1$FO) * 100, 2)
p_bernoulli <- mean(datos_0_1_num)
df_0_1$PT <- round(c(1 - p_bernoulli, p_bernoulli) * 100, 2)
df_0_1$FE <- round((df_0_1$PT / 100) * sum(df_0_1$FO), 4)
barplot(rbind(df_0_1$Porcentaje_Experimental, df_0_1$PT), beside = TRUE,
main = "Bernoulli: Experimental vs. Teorica (0 y 1)",
names.arg = df_0_1$COMPLEJIDAD, col = c("darkblue", "darkgreen"),
ylab = "Probabilidad (%)", legend.text = c("Experimental", "Teorica"),
args.legend = list(x = "topright"))
x2 <- sum((df_0_1$FO - df_0_1$FE)^2 / df_0_1$FE)
gl <- length(df_0_1$FO) - 2
VC <- qchisq(0.95, gl)
cat("Chi-cuadrado:", round(x2, 3), "VC (95%):", round(VC, 3), "\n")
if(gl > 0){
cat(ifelse(x2 < VC, "No se rechaza H0. Bernoulli adecuada.\n", "Se rechaza H0. Bernoulli no se ajusta bien.\n"))
}
}

## Chi-cuadrado: 0 VC (95%): 0
#-----ANALISIS CHI-CUADRADO-------
## Chi-cuadrado: 0 VC (95%): 0
#--- FUNCI??N AN??LISIS GEOM??TRICO GENERAL ---
analisis_geom <- function(segmento, valores){
cat(paste("\n--- Analisis Geometrico para COMPLEJIDAD:", segmento, "---\n"))
datos_seg <- datos$Complexity.of.the.casing.structure[datos$Complexity.of.the.casing.structure %in% valores]
datos_seg_num <- as.numeric(as.character(datos_seg))
if(length(datos_seg_num) > 0){
tabla_seg <- table(factor(datos_seg_num, levels = as.character(valores)))
df <- as.data.frame(tabla_seg)
names(df) <- c("COMPLEJIDAD", "FO")
df$COMPLEJIDAD <- as.numeric(as.character(df$COMPLEJIDAD))
x_geom <- df$COMPLEJIDAD - min(valores)
p_geom <- 1 / (1 + mean(x_geom))
PT_geom <- round(dgeom(x_geom, p_geom) * 100, 2)
df$Porcentaje_Experimental <- round(df$FO / sum(df$FO) * 100, 2)
df$PT <- PT_geom
df$FE <- round(df$PT / 100 * sum(df$FO), 4)
print(df)
barplot(rbind(df$Porcentaje_Experimental, df$PT), beside = TRUE,
main = paste("Geometrica:", segmento, "Experimental vs. Teorica"),
xlab = "Complejidad", ylab = "Probabilidad (%)",
col = c("darkblue", "darkgreen"),
legend.text = c("Experimental", "Teorica"),
args.legend = list(x = "topright"))
x2 <- sum((df$FO - df$FE)^2 / df$FE)
gl <- length(df$FO) - 2
VC <- qchisq(0.95, gl)
cat("Chi-cuadrado:", round(x2, 3), "VC (95%):", round(VC, 3), "\n")
if(gl > 0){
cat(ifelse(x2 < VC, "No se rechaza H0. Geometrica adecuada.\n", "Se rechaza H0. Geometrica no se ajusta bien.\n"))
}
} else {
cat("No hay datos para los niveles seleccionados.\n")
}
}
#--- APLICAR AN??LISIS GEOM??TRICO A OTROS SEGMENTOS ---
analisis_geom("Nivel 2 a 4", c(2,3,4))
##
## --- Analisis Geometrico para COMPLEJIDAD: Nivel 2 a 4 ---
## COMPLEJIDAD FO Porcentaje_Experimental PT FE
## 1 2 5383 53.70 50.0 5012
## 2 3 4138 41.28 25.0 2506
## 3 4 503 5.02 12.5 1253

## Chi-cuadrado: 1539.204 VC (95%): 3.841
## Se rechaza H0. Geometrica no se ajusta bien.
analisis_geom("Nivel 5 a 7", c(5,6,7))
##
## --- Analisis Geometrico para COMPLEJIDAD: Nivel 5 a 7 ---
## COMPLEJIDAD FO Porcentaje_Experimental PT FE
## 1 5 25 89.29 50.0 14.0
## 2 6 2 7.14 25.0 7.0
## 3 7 1 3.57 12.5 3.5

## Chi-cuadrado: 14 VC (95%): 3.841
## Se rechaza H0. Geometrica no se ajusta bien.