install.packages("readxl")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)
stat_tab1 <- function(data) {
res <- list()
# Verificar si el input es una tabla de contingencia o dos factores
if (is.table(data)) {
# Si es una tabla de contingencia, se usa directamente
tdata <- data
} else if (is.data.frame(data) && ncol(data) == 2) {
# Si son dos columnas (factores), creamos la tabla de contingencia
tdata <- table(data[, 1], data[, 2])
} else {
stop("El argumento 'data' debe ser una tabla o un data.frame con dos columnas")
}
# Datos
nr <- dim(tdata)[1] # Número de filas
nc <- dim(tdata)[2] # Número de columnas
n <- sum(tdata) # Total de unidades
# Totales marginales
tr <- margin.table(tdata, 1) # Totales marginales de fila
tc <- margin.table(tdata, 2) # Totales marginales de columna
tcdata <- addmargins(tdata) # Añadiendo los totales
# Ajustar nombres de filas y columnas
colnames(tcdata)[nc+1] <- "Marginal" # Cambiar a "Marginal"
rownames(tcdata)[nr+1] <- "Marginal" # Cambiar a "Marginal"
res$Table <- tcdata
# Tabla de frecuencias
ptdata <- tcdata / n # Tabla de frecuencias
res$Frequencies <- round(ptdata, 3)
# Tabla sin márgenes
pdata <- ptdata[1:nr, 1:nc] # Sin márgenes
pr <- ptdata[1:nr, nc+1] # Margen de filas (Totales por filas)
pc <- ptdata[nr+1, 1:nc] # Margen de columnas (Totales por columnas)
# Perfiles de filas
prdata <- prop.table(tdata, 1) # Perfiles de fila
prfr <- rbind(prdata, pc) # Añadiendo perfil marginal
prfr <- cbind(prfr, apply(prfr, 1, sum))
rownames(prfr)[nr+1] <- "Marginal"
colnames(prfr)[nc+1] <- "Marginal"
res$row.profiles <- round(prfr, 3)
# Perfiles de columnas
pcdata <- prop.table(tdata, 2) # Perfiles de columna
prfc <- cbind(pcdata, pr) # Añadiendo perfil marginal
prfc <- rbind(prfc, apply(prfc, 2, sum))
rownames(prfc)[nr+1] <- "Marginal"
colnames(prfc)[nc+1] <- "Marginal"
res$col.profiles <- round(prfc, 3)
# Desvíos a la independencia
exdata <- pr %*% t(pc) # Tabla de valores esperados
pexdata <- addmargins(exdata) # Totales ajustados
colnames(pexdata)[nc+1] <- "Marginal"
rownames(pexdata)[nr+1] <- "Marginal"
res$exp.frequencies <- round(pexdata, 3)
despdata <- (pdata - exdata) # Desviaciones
res$dev.frequencies <- round(despdata, 3)
dedata <- despdata * n # Desviaciones absolutas
res$dev.values <- round(dedata, 3)
# Entropías
entr <- -sum(pr * log(pr, 2)) # Entropía de filas
entrr <- entr / log(nr, 2) # Entropía relativa filas
entc <- -sum(pc * log(pc, 2)) # Entropía de columnas
entcr <- entc / log(nc, 2) # Entropía relativa columnas
entt <- -sum(pdata * log(pdata, 2)) # Entropía conjunta
enttr <- entt / log(nr * nc, 2) # Entropía relativa conjunta
entexp <- -sum(exdata * log(exdata, 2)) # Entropía esperada
entexpr <- entexp / log(nr * nc, 2) # Entropía relativa esperada
# Información mutua y estadística G²
infm <- entr + entc - entt # Información mutua
G2 <- 2 * n * infm * log(2) # g²
entconr <- entr - infm
entconc <- entc - infm
# Tabla de entropías
entropias <- rbind(c(entr, entrr), c(entc, entcr), c(entt, enttr), c(entexp, entexpr))
rownames(entropias) <- c("filas", "columnas", "conjunta", "esperada")
colnames(entropias) <- c("entropía", "relativa")
res$Entropies <- round(entropias, 5)
# Entropías condicionadas
econ <- c(entconr, entconc)
names(econ) <- c("fila|columnas", "columna|filas")
res$Cond.entropies <- round(econ, 5)
info <- c(infm, G2)
names(info) <- c("mutual_information", "G² statistics")
res$Information <- round(info, 5)
# Estadísticas chi-cuadrado
phi <- sum((pdata - exdata)^2 / exdata) # phi cuadrado
chi <- n * phi # chi cuadrado
df <- (nr - 1) * (nc - 1) # Grados de libertad
pearson <- sqrt(chi / (n + chi)) # Pearson
tchuprow <- sqrt(chi / (n * sqrt(df))) # T de Tchuprow
cramer <- sqrt(phi / (min(nr - 1, nc - 1))) # phi de Cramer
# Tabla de estadísticas chi-cuadrado
chist <- rbind(phi, chi, df, pearson, tchuprow, cramer)
rownames(chist) <- c("phi-cuadrado", "chi-cuadrado", "grados de libertad",
"C de Pearson", "T de Tchuprow", "phi de Cramer")
colnames(chist) <- "estadísticas"
res$Phi_stats <- round(chist, 5)
### PRIMER GRÁFICO: Filas condicionadas por columnas ###
max_prfr <- max(prfr, na.rm = TRUE)
if (!is.finite(max_prfr)) {
max_prfr <- 1 # Valor por defecto si max(prfr) no es finito
}
plot(1:nc, prfr[nr+1, 1:nc], ylim = c(0, max_prfr + 0.05), type = "n", xaxt = "n",
xlab = "Columna (Condicionada)", ylab = "Frecuencias",
main = "Filas condicionadas por Columnas")
axis(1, at = 1:nc, labels = colnames(prfr)[1:nc])
for (i in 1:nr) {
lines(1:nc, prfr[i, 1:nc], col = i) # Añadir líneas dinámicamente
}
lines(1:nc, prfr[nr+1, 1:nc], col = "red") # Línea marginal
# Leyenda actualizada sin duplicar "Marginal"
legend("topright", legend = rownames(prfr)[1:(nr+1)], lty = 1, cex = 0.6, y.intersp = 0.7, col = c(1:nr, "red"))
### SEGUNDO GRÁFICO: Columnas condicionadas por filas ###
max_prfc <- max(prfc, na.rm = TRUE)
if (!is.finite(max_prfc)) {
max_prfc <- 1 # Valor por defecto si max(prfc) no es finito
}
plot(1:nr, prfc[1:nr,nc+1], ylim = c(0, max_prfc + 0.05), type = "n", xaxt = "n",
xlab = "Fila (Condicionada)", ylab = "Frecuencias",
main = "Columnas condicionadas por Filas")
axis(1, at = 1:nr, labels = rownames(prfc)[1:nr]) # Eje horizontal
for (i in 1:nc) {
lines(1:nr, prfc[1:nr, i], col = i)
}
# Línea marginal de color azul (representa los totales por filas)
lines(1:nr, prfc[1:nr, nc+1], col = "blue")
# Leyenda actualizada sin duplicar "Marginal"
legend("topright", legend = c(colnames(prfc)[1:nc], "Marginal"), lty = 1, col = c(1:nc, "blue"), cex = 0.6, y.intersp = 0.7)
return(res)
}
snee=read.csv("Snee.csv")
head(snee)
## Color_Ojos Color_Pelo
## 1 1 1
## 2 1 1
## 3 1 1
## 4 1 1
## 5 1 1
## 6 1 1
snee$Color_Ojos <- factor(snee$Color_Ojos, # factor y etiquetas de la primera variable
levels = c(1,2,3,4),
labels = c("Oscuros","Pardos",
"Verdes","Azules"),ordered=TRUE)
snee$Color_Pelo <- factor(snee$Color_Pelo, # factor y etiquetas de la segunda variable
levels = c(1,2,3,4),
labels = c("Negro","Castano",
"Rojo","Rubio"),ordered=TRUE)
stat_tab1(snee)
## $Table
##
## Negro Castano Rojo Rubio Marginal
## Oscuros 68 119 26 7 220
## Pardos 15 54 14 10 93
## Verdes 5 29 14 16 64
## Azules 20 84 17 94 215
## Marginal 108 286 71 127 592
##
## $Frequencies
##
## Negro Castano Rojo Rubio Marginal
## Oscuros 0.115 0.201 0.044 0.012 0.372
## Pardos 0.025 0.091 0.024 0.017 0.157
## Verdes 0.008 0.049 0.024 0.027 0.108
## Azules 0.034 0.142 0.029 0.159 0.363
## Marginal 0.182 0.483 0.120 0.215 1.000
##
## $row.profiles
## Negro Castano Rojo Rubio Marginal
## Oscuros 0.309 0.541 0.118 0.032 1
## Pardos 0.161 0.581 0.151 0.108 1
## Verdes 0.078 0.453 0.219 0.250 1
## Azules 0.093 0.391 0.079 0.437 1
## Marginal 0.182 0.483 0.120 0.215 1
##
## $col.profiles
## Negro Castano Rojo Rubio Marginal
## Oscuros 0.630 0.416 0.366 0.055 0.372
## Pardos 0.139 0.189 0.197 0.079 0.157
## Verdes 0.046 0.101 0.197 0.126 0.108
## Azules 0.185 0.294 0.239 0.740 0.363
## Marginal 1.000 1.000 1.000 1.000 1.000
##
## $exp.frequencies
## Negro Castano Rojo Rubio Marginal
## 0.068 0.180 0.045 0.080 0.372
## 0.029 0.076 0.019 0.034 0.157
## 0.020 0.052 0.013 0.023 0.108
## 0.066 0.175 0.044 0.078 0.363
## Marginal 0.182 0.483 0.120 0.215 1.000
##
## $dev.frequencies
##
## Negro Castano Rojo Rubio
## Oscuros 0.047 0.021 -0.001 -0.068
## Pardos -0.003 0.015 0.005 -0.017
## Verdes -0.011 -0.003 0.011 0.004
## Azules -0.032 -0.034 -0.015 0.081
##
## $dev.values
##
## Negro Castano Rojo Rubio
## Oscuros 27.865 12.716 -0.385 -40.196
## Pardos -1.966 9.071 2.846 -9.951
## Verdes -6.676 -1.919 6.324 2.270
## Azules -19.223 -19.868 -8.785 47.877
##
## $Entropies
## entropía relativa
## filas 1.82786 0.91393
## columnas 1.79823 0.89911
## conjunta 3.44765 0.86191
## esperada 3.62609 0.90652
##
## $Cond.entropies
## fila|columnas columna|filas
## 1.64942 1.61979
##
## $Information
## mutual_information G² statistics
## 0.17844 146.44358
##
## $Phi_stats
## estadísticas
## phi-cuadrado 0.23360
## chi-cuadrado 138.28984
## grados de libertad 9.00000
## C de Pearson 0.43516
## T de Tchuprow 0.27904
## phi de Cramer 0.27904
En los gráficos, podemos ver que las líneas de las frecuencias marginales para los colores de pelo (condicionados por color de ojos) son bastante diferenciadas. Esto sugiere que el color de ojos influye en la distribución de los colores de pelo y viceversa.
Las líneas no se superponen mucho, lo que refuerza la conclusión de una alta información mutua. El gráfico visualiza una clara asociación entre las variables
piel = read.csv("Pielescuero_car.csv")
head(piel)
## Exportacion Tamano Financiacion Zona Actividad
## 1 siexp 11-20 nopre NE MeAl
## 2 noexp 11-20 nopre CE Ropa
## 3 siexp 11-20 nopre NE Ropa
## 4 siexp 11-20 nopre NE Ropa
## 5 siexp 11-20 nopre NO Ropa
## 6 siexp 11-20 nopre CE Ropa
piel_act_zon = piel[c(1,5)]
table(piel_act_zon$Exportacion)
##
## noexp siexp
## 44 129
table(piel_act_zon$Actividad)
##
## MeAl PeCu Ropa Zapa
## 11 46 54 62
stat_tab1(piel_act_zon)
## $Table
##
## MeAl PeCu Ropa Zapa Marginal
## noexp 7 12 18 7 44
## siexp 4 34 36 55 129
## Marginal 11 46 54 62 173
##
## $Frequencies
##
## MeAl PeCu Ropa Zapa Marginal
## noexp 0.040 0.069 0.104 0.040 0.254
## siexp 0.023 0.197 0.208 0.318 0.746
## Marginal 0.064 0.266 0.312 0.358 1.000
##
## $row.profiles
## MeAl PeCu Ropa Zapa Marginal
## noexp 0.159 0.273 0.409 0.159 1
## siexp 0.031 0.264 0.279 0.426 1
## Marginal 0.064 0.266 0.312 0.358 1
##
## $col.profiles
## MeAl PeCu Ropa Zapa Marginal
## noexp 0.636 0.261 0.333 0.113 0.254
## siexp 0.364 0.739 0.667 0.887 0.746
## Marginal 1.000 1.000 1.000 1.000 1.000
##
## $exp.frequencies
## MeAl PeCu Ropa Zapa Marginal
## 0.016 0.068 0.079 0.091 0.254
## 0.047 0.198 0.233 0.267 0.746
## Marginal 0.064 0.266 0.312 0.358 1.000
##
## $dev.frequencies
##
## MeAl PeCu Ropa Zapa
## noexp 0.024 0.002 0.025 -0.051
## siexp -0.024 -0.002 -0.025 0.051
##
## $dev.values
##
## MeAl PeCu Ropa Zapa
## noexp 4.202 0.301 4.266 -8.769
## siexp -4.202 -0.301 -4.266 8.769
##
## $Entropies
## entropía relativa
## filas 0.81808 0.81808
## columnas 1.81577 0.90789
## conjunta 2.56499 0.85500
## esperada 2.63385 0.87795
##
## $Cond.entropies
## fila|columnas columna|filas
## 0.74922 1.74692
##
## $Information
## mutual_information G² statistics
## 0.06886 16.51447
##
## $Phi_stats
## estadísticas
## phi-cuadrado 0.09706
## chi-cuadrado 16.79183
## grados de libertad 3.00000
## C de Pearson 0.29745
## T de Tchuprow 0.23673
## phi de Cramer 0.31155
Las líneas en los gráficos son más cercanas entre sí, lo que indica menos diferenciación en las frecuencias condicionadas. Esto sugiere que las zonas geográficas tienen una influencia limitada sobre la actividad de las empresas
Aunque hay algunas variaciones, los gráficos muestran que las categorías no están tan claramente diferenciadas como en el caso de Snee
sangre = read.csv("Gruppi_sanguigni.csv",row.names = 1)
sangre = as.table(as.matrix(sangre))
sangre
## O A B AB
## RH+ 1885 1613 472 167
## RH- 412 333 103 34
t(sangre)
## RH+ RH-
## O 1885 412
## A 1613 333
## B 472 103
## AB 167 34
stat_tab1(sangre)
## $Table
## O A B AB Marginal
## RH+ 1885 1613 472 167 4137
## RH- 412 333 103 34 882
## Marginal 2297 1946 575 201 5019
##
## $Frequencies
## O A B AB Marginal
## RH+ 0.376 0.321 0.094 0.033 0.824
## RH- 0.082 0.066 0.021 0.007 0.176
## Marginal 0.458 0.388 0.115 0.040 1.000
##
## $row.profiles
## O A B AB Marginal
## RH+ 0.456 0.390 0.114 0.040 1
## RH- 0.467 0.378 0.117 0.039 1
## Marginal 0.458 0.388 0.115 0.040 1
##
## $col.profiles
## O A B AB Marginal
## RH+ 0.821 0.829 0.821 0.831 0.824
## RH- 0.179 0.171 0.179 0.169 0.176
## Marginal 1.000 1.000 1.000 1.000 1.000
##
## $exp.frequencies
## O A B AB Marginal
## 0.377 0.320 0.094 0.033 0.824
## 0.080 0.068 0.020 0.007 0.176
## Marginal 0.458 0.388 0.115 0.040 1.000
##
## $dev.frequencies
## O A B AB
## RH+ -0.002 0.002 0.000 0.000
## RH- 0.002 -0.002 0.000 0.000
##
## $dev.values
## O A B AB
## RH+ -8.343 8.975 -1.954 1.322
## RH- 8.343 -8.975 1.954 -1.322
##
## $Entropies
## entropía relativa
## filas 0.67065 0.67065
## columnas 1.59007 0.79503
## conjunta 2.26063 0.75354
## esperada 2.26072 0.75357
##
## $Cond.entropies
## fila|columnas columna|filas
## 0.67056 1.58998
##
## $Information
## mutual_information G² statistics
## 0.00009 0.60209
##
## $Phi_stats
## estadísticas
## phi-cuadrado 0.00012
## chi-cuadrado 0.60085
## grados de libertad 3.00000
## C de Pearson 0.01094
## T de Tchuprow 0.00831
## phi de Cramer 0.01094
Las líneas en los gráficos están prácticamente superpuestas, mostrando que no hay mucha variación entre los grupos de sangre en función del factor RH.
Tanto los gráficos de filas como los de columnas muestran que las distribuciones son casi idénticas entre RH+ y RH-, confirmando la falta de asociación entre las variables
presion <- read_excel("Blood-pressure.xlsx", sheet = 1)
presion <- data.frame(presion)
head(presion)
## Blood.pressure Age
## 1 Low Under_30
## 2 Low Under_30
## 3 Low Under_30
## 4 Low Under_30
## 5 Low Under_30
## 6 Low Under_30
stat_tab1(presion)
## $Table
##
## 30-49 Over_50 Under_30 Marginal
## High 51 73 23 147
## Low 37 31 27 95
## Normal 91 93 48 232
## Marginal 179 197 98 474
##
## $Frequencies
##
## 30-49 Over_50 Under_30 Marginal
## High 0.108 0.154 0.049 0.310
## Low 0.078 0.065 0.057 0.200
## Normal 0.192 0.196 0.101 0.489
## Marginal 0.378 0.416 0.207 1.000
##
## $row.profiles
## 30-49 Over_50 Under_30 Marginal
## High 0.347 0.497 0.156 1
## Low 0.389 0.326 0.284 1
## Normal 0.392 0.401 0.207 1
## Marginal 0.378 0.416 0.207 1
##
## $col.profiles
## 30-49 Over_50 Under_30 Marginal
## High 0.285 0.371 0.235 0.310
## Low 0.207 0.157 0.276 0.200
## Normal 0.508 0.472 0.490 0.489
## Marginal 1.000 1.000 1.000 1.000
##
## $exp.frequencies
## 30-49 Over_50 Under_30 Marginal
## 0.117 0.129 0.064 0.310
## 0.076 0.083 0.041 0.200
## 0.185 0.203 0.101 0.489
## Marginal 0.378 0.416 0.207 1.000
##
## $dev.frequencies
##
## 30-49 Over_50 Under_30
## High -0.010 0.025 -0.016
## Low 0.002 -0.018 0.016
## Normal 0.007 -0.007 0.000
##
## $dev.values
##
## 30-49 Over_50 Under_30
## High -4.513 11.905 -7.392
## Low 1.124 -8.483 7.359
## Normal 3.388 -3.422 0.034
##
## $Entropies
## entropía relativa
## filas 1.49309 0.94203
## columnas 1.52716 0.96353
## conjunta 3.00618 0.94834
## esperada 3.02025 0.95278
##
## $Cond.entropies
## fila|columnas columna|filas
## 1.47902 1.51309
##
## $Information
## mutual_information G² statistics
## 0.01407 9.24618
##
## $Phi_stats
## estadísticas
## phi-cuadrado 0.01973
## chi-cuadrado 9.35205
## grados de libertad 4.00000
## C de Pearson 0.13910
## T de Tchuprow 0.09932
## phi de Cramer 0.09932
Las líneas en los gráficos están bastante juntas, lo que indica poca diferencia en la distribución de la presión arterial en función de la edad.
Aunque hay algunas pequeñas variaciones, los gráficos muestran que no hay una gran diferencia entre las categorías, lo que coincide con el bajo valor de información mutua
pasteles = read.csv("Pasteles_w.csv")
pasteles = pasteles[c("Juicio_pastel","Juicio_crema")]
head(pasteles)
## Juicio_pastel Juicio_crema
## 1 P_discreto C_discreto
## 2 P_bueno C_bueno
## 3 P_bueno C_discreto
## 4 P_muy bueno C_bueno
## 5 P_discreto C_discreto
## 6 P_muy bueno C_muy bueno
stat_tab1(pasteles)
## $Table
##
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## P_bueno 129 61 3 21 1 1
## P_discreto 22 32 0 1 0 7
## P_excelente 6 0 16 8 0 0
## P_muy bueno 45 2 10 38 0 0
## P_muy_pobre 0 0 0 0 1 2
## P_pobre 1 2 0 0 3 14
## P_regular 1 8 1 1 2 15
## Marginal 204 105 30 69 7 39
##
## C_regular Marginal
## P_bueno 9 225
## P_discreto 32 94
## P_excelente 0 30
## P_muy bueno 1 96
## P_muy_pobre 0 3
## P_pobre 1 21
## P_regular 21 49
## Marginal 64 518
##
## $Frequencies
##
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## P_bueno 0.249 0.118 0.006 0.041 0.002 0.002
## P_discreto 0.042 0.062 0.000 0.002 0.000 0.014
## P_excelente 0.012 0.000 0.031 0.015 0.000 0.000
## P_muy bueno 0.087 0.004 0.019 0.073 0.000 0.000
## P_muy_pobre 0.000 0.000 0.000 0.000 0.002 0.004
## P_pobre 0.002 0.004 0.000 0.000 0.006 0.027
## P_regular 0.002 0.015 0.002 0.002 0.004 0.029
## Marginal 0.394 0.203 0.058 0.133 0.014 0.075
##
## C_regular Marginal
## P_bueno 0.017 0.434
## P_discreto 0.062 0.181
## P_excelente 0.000 0.058
## P_muy bueno 0.002 0.185
## P_muy_pobre 0.000 0.006
## P_pobre 0.002 0.041
## P_regular 0.041 0.095
## Marginal 0.124 1.000
##
## $row.profiles
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## P_bueno 0.573 0.271 0.013 0.093 0.004 0.004
## P_discreto 0.234 0.340 0.000 0.011 0.000 0.074
## P_excelente 0.200 0.000 0.533 0.267 0.000 0.000
## P_muy bueno 0.469 0.021 0.104 0.396 0.000 0.000
## P_muy_pobre 0.000 0.000 0.000 0.000 0.333 0.667
## P_pobre 0.048 0.095 0.000 0.000 0.143 0.667
## P_regular 0.020 0.163 0.020 0.020 0.041 0.306
## Marginal 0.394 0.203 0.058 0.133 0.014 0.075
## C_regular Marginal
## P_bueno 0.040 1
## P_discreto 0.340 1
## P_excelente 0.000 1
## P_muy bueno 0.010 1
## P_muy_pobre 0.000 1
## P_pobre 0.048 1
## P_regular 0.429 1
## Marginal 0.124 1
##
## $col.profiles
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## P_bueno 0.632 0.581 0.100 0.304 0.143 0.026
## P_discreto 0.108 0.305 0.000 0.014 0.000 0.179
## P_excelente 0.029 0.000 0.533 0.116 0.000 0.000
## P_muy bueno 0.221 0.019 0.333 0.551 0.000 0.000
## P_muy_pobre 0.000 0.000 0.000 0.000 0.143 0.051
## P_pobre 0.005 0.019 0.000 0.000 0.429 0.359
## P_regular 0.005 0.076 0.033 0.014 0.286 0.385
## Marginal 1.000 1.000 1.000 1.000 1.000 1.000
## C_regular Marginal
## P_bueno 0.141 0.434
## P_discreto 0.500 0.181
## P_excelente 0.000 0.058
## P_muy bueno 0.016 0.185
## P_muy_pobre 0.000 0.006
## P_pobre 0.016 0.041
## P_regular 0.328 0.095
## Marginal 1.000 1.000
##
## $exp.frequencies
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## 0.171 0.088 0.025 0.058 0.006 0.033
## 0.071 0.037 0.011 0.024 0.002 0.014
## 0.023 0.012 0.003 0.008 0.001 0.004
## 0.073 0.038 0.011 0.025 0.003 0.014
## 0.002 0.001 0.000 0.001 0.000 0.000
## 0.016 0.008 0.002 0.005 0.001 0.003
## 0.037 0.019 0.005 0.013 0.001 0.007
## Marginal 0.394 0.203 0.058 0.133 0.014 0.075
## C_regular Marginal
## 0.054 0.434
## 0.022 0.181
## 0.007 0.058
## 0.023 0.185
## 0.001 0.006
## 0.005 0.041
## 0.012 0.095
## Marginal 0.124 1.000
##
## $dev.frequencies
##
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## P_bueno 0.078 0.030 -0.019 -0.017 -0.004 -0.031
## P_discreto -0.029 0.025 -0.011 -0.022 -0.002 0.000
## P_excelente -0.011 -0.012 0.028 0.008 -0.001 -0.004
## P_muy bueno 0.014 -0.034 0.009 0.049 -0.003 -0.014
## P_muy_pobre -0.002 -0.001 0.000 -0.001 0.002 0.003
## P_pobre -0.014 -0.004 -0.002 -0.005 0.005 0.024
## P_regular -0.035 -0.004 -0.004 -0.011 0.003 0.022
##
## C_regular
## P_bueno -0.036
## P_discreto 0.039
## P_excelente -0.007
## P_muy bueno -0.021
## P_muy_pobre -0.001
## P_pobre -0.003
## P_regular 0.029
##
## $dev.values
##
## C_bueno C_discreto C_excelente C_muy bueno C_muy_pobre C_pobre
## P_bueno 40.390 15.392 -10.031 -8.971 -2.041 -15.940
## P_discreto -15.019 12.946 -5.444 -11.521 -1.270 -0.077
## P_excelente -5.815 -6.081 14.263 4.004 -0.405 -2.259
## P_muy bueno 7.193 -17.459 4.440 25.212 -1.297 -7.228
## P_muy_pobre -1.181 -0.608 -0.174 -0.400 0.959 1.774
## P_pobre -7.270 -2.257 -1.216 -2.797 2.716 12.419
## P_regular -18.297 -1.932 -1.838 -5.527 1.338 11.311
##
## C_regular
## P_bueno -18.799
## P_discreto 20.386
## P_excelente -3.707
## P_muy bueno -10.861
## P_muy_pobre -0.371
## P_pobre -1.595
## P_regular 14.946
##
## $Entropies
## entropía relativa
## filas 2.21042 0.78737
## columnas 2.35919 0.84036
## conjunta NaN NaN
## esperada 4.56961 0.81386
##
## $Cond.entropies
## fila|columnas columna|filas
## NaN NaN
##
## $Information
## mutual_information G² statistics
## NaN NaN
##
## $Phi_stats
## estadísticas
## phi-cuadrado 1.21549
## chi-cuadrado 629.62361
## grados de libertad 36.00000
## C de Pearson 0.74070
## T de Tchuprow 0.45009
## phi de Cramer 0.45009
Los gráficos de frecuencias condicionadas muestran grandes diferencias entre las categorías, con líneas que varían significativamente de una categoría a otra
Las diferencias visibles en las líneas refuerzan la idea de que hay una fuerte asociación entre la calidad y la preferencia de los pasteles
Interpretación: Esta tabla tiene un valor de información mutua relativamente alto, lo que sugiere una interdependencia significativa entre las variables. El valor de Chi-cuadrado también es alto, lo cual refuerza esta relación. Phi de Cramer y C de Pearson están en niveles intermedios, indicando una asociación moderada entre las variables.
Interpretación: La información mutua es más baja en comparación con Snee, lo que indica que la asociación entre actividad y zona geográfica es menor. Aunque el valor de Chi-cuadrado es más bajo, los grados de libertad también son menores, lo que hace que la relación sea algo significativa. Phi de Cramer y C de Pearson son similares a los de la tabla Snee.
Interpretación: Este es el caso con menos información mutua y el menor valor de Chi-cuadrado, lo que indica casi ninguna relación entre el tipo de sangre y el factor RH. Los valores de Phi de Cramer y C de Pearson son extremadamente bajos, confirmando la independencia entre las variables.
Interpretación: Hay algo de dependencia entre la presión arterial y la edad, aunque los valores de información mutua y Chi-cuadrado son bajos. La asociación es débil, como lo indican los valores bajos de Phi de Cramer y C de Pearson.
Valores nulos en C_excelente con P_discreto, C_muy_pobre con P_discreto,C_discreto con P_excelente y así en las demás relaciones de las variables auxiliares (etiquetas). Cuando se realiza el logaritmo de las proporciones en estos casos nulos, nos dará como resultado una indeterminación, con lo que no se podrá calcular estos resultados.
Interpretación: Aunque la información mutua no se pudo calculo debido a lo expuesto anteriormente, el valor extremadamente alto de Chi-cuadrado indica una fuerte asociación entre las variables. Phi de Cramer y C de Pearson también son los más altos entre todas las tablas, sugiriendo una fuerte relación entre la calidad percibida y la preferencia de los pasteles.
Conclusión:
Mayor información mutua: Snee (Color de ojos y pelo) con una información mutua de 0.17844. Esto indica que el color de ojos y el color de pelo están significativamente asociados
Menor información mutua: Gruppi_sanguigni (Tipos de sangre y factor RH) con una información mutua de 0.00009. Aquí, las variables son prácticamente independientes.
Relación entre información mutua y Chi-cuadrado:
En general, se observa que las tablas con mayor información mutua tienden a tener un mayor valor de Chi-cuadrado. Esto se debe a que ambas métricas reflejan la fuerza de la asociación entre las variables:
Sin embargo, es importante tener en cuenta los grados de libertad al interpretar estos valores, ya que el Chi-cuadrado depende del tamaño de la tabla o número de variables. Por lo que no sería correcto incidir en esta comparación de forma directa a través del Chi-cuadrado. Las estadísticas normalizadas como Phi de Cramer o C de Pearson permiten comparaciones más justas entre tablas de diferentes tamaños.