#==============================ENCABEZADO===================================
# TEMA: EI Variables Cualitativa - Complejidad de la estructura
# AUTOR: GRUPO 4
# FECHA: 08-02-2026
#------CARGA DE DATOS-------
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 = ";")
#--- PREPARACI??N DE DATOS ---
df_comp <- as.data.frame(table(datos$Complexity.of.the.casing.structure))
names(df_comp) <- c("Variable", "ni")
df_comp$hi <- df_comp$ni / sum(df_comp$ni)
# 2. REALIZAMOS LA TDF
cat("\n--- TDF: COMPLEJIDAD DEL CASING ---\n")
##
## --- TDF: COMPLEJIDAD DEL CASING ---
print(df_comp)
## Variable ni hi
## 1 0 2476 0.1971180638
## 2 1 33 0.0026271794
## 3 2 5383 0.4285486824
## 4 3 4138 0.3294323700
## 5 4 503 0.0400445824
## 6 5 25 0.0019902874
## 7 6 2 0.0001592230
## 8 7 1 0.0000796115
# 3. GRAFICA 1: REALIDAD
barplot(df_comp$hi, names.arg = df_comp$Variable, col = "darkgreen",
main = "Grafico Nro. 1: Distribucion de Complejidad de la Estructura",
xlab = "Nivel de Complejidad", ylab = "hi",
las = 2, cex.names = 0.7, ylim = c(0, max(df_comp$hi) + 0.1))

# 5. MODELO BINOMIAL
n_C <- nrow(df_comp) - 1
xi_C <- 0:n_C
prob_C <- sum(xi_C * df_comp$hi) / n_C
p_bin_C <- dbinom(xi_C, size = n_C, prob = prob_C)
#--- GRAFICA 2: MODELO ---
barplot(p_bin_C, names.arg = df_comp$Variable, col = "gold",
main = "Grafico Nro. 2: Distribucion de Complejidad de la Estructura",
xlab = "Nivel de Complejidad", ylab = "Probabilidad",
las = 2, cex.names = 0.7, ylim = c(0, max(p_bin_C) + 0.1))

#--- GRAFICA 3: COMPARACI??N ---
max_pC <- max(max(df_comp$hi), max(p_bin_C)) + 0.1
barplot(rbind(df_comp$hi, p_bin_C), beside = TRUE, col = c("darkgreen", "gold"),
main = "Grafico Nro. 3: Distribucion de Complejidad de la Estructura",
xlab = "Nivel de Complejidad", ylab = "Probabilidad",
names.arg = df_comp$Variable, las = 2, cex.names = 0.7, ylim = c(0, max_pC))
legend("topright", legend = c("Realidad", "Modelo"), fill = c("darkgreen", "gold"), bty = "n")

#--- VEREDICTO (CORREGIDO) ---
r_C <- cor(df_comp$hi, p_bin_C)
chi_C <- sum(((df_comp$hi - p_bin_C)^2) / p_bin_C)
crit_C <- qchisq(0.85, df = n_C)
veredicto_C <- data.frame(
Prueba = c("Pearson (r)", "Chi-Cuadrado (X2)"),
Valor = c(round(r_C, 4), round(chi_C, 4)),
Resultado = c(ifelse(!is.na(r_C) && r_C >= 0.7, "APROBADO", "REPROBADO"),
ifelse(chi_C < crit_C, "APROBADO", "REPROBADO"))
)
cat("\n--- VEREDICTO FINAL ---\n")
##
## --- VEREDICTO FINAL ---
print(veredicto_C, row.names = FALSE)
## Prueba Valor Resultado
## Pearson (r) 0.7002 APROBADO
## Chi-Cuadrado (X2) 0.5197 APROBADO
# 6. C??LCULO DE PROBABILIDADES
cat("\n6. PROBABILIDAD (Modelo):", round(p_bin_C[1]*100, 2), "%\n")
##
## 6. PROBABILIDAD (Modelo): 9.23 %