dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE, showWarnings = FALSE)
.libPaths(c(Sys.getenv("R_LIBS_USER"), .libPaths()))
paquetes <- c("tidyverse", "ggplot2", "knitr", "kableExtra")
instalar_si_falta <- function(pkgs) {
ok <- sapply(pkgs, require, character.only = TRUE, quietly = TRUE)
faltan <- names(ok)[!ok]
if (length(faltan)) {
try(install.packages(faltan, dependencies = TRUE), silent = TRUE)
}
invisible(lapply(pkgs, require, character.only = TRUE))
}
instalar_si_falta(paquetes)Un investigador en Relaciones Internacionales desea analizar si existe una relación entre el nivel de desarrollo económico de un país y su apertura frente a un acuerdo internacional sobre cambio climático (a favor o En contra)
problema1 <- data.frame(
Desarrollo = c("Bajo", "Bajo", "Medio", "Medio", "Alto", "Alto"),
Posicion = c("A favor", "En contra", "A favor", "En contra", "A favor", "En contra"),
Frecuencia = c(35, 15, 45, 25, 50, 10)
)
tabla_p1 <- xtabs(Frecuencia ~ Desarrollo + Posicion, data = problema1)
print(tabla_p1) Posicion
Desarrollo A favor En contra
Alto 50 10
Bajo 35 15
Medio 45 25
Hipótesis:
H0: No existe relación entre nivel de desarrollo y posición
H1: Existe relación entre nivel de desarrollo y posición
Resultados:
Chi-cuadrado = 6.0132
p-valor = 0.0495
Un equipo de investigadores en Psicología Clínica quiere estudiar la asociación entre la ansiedad de los pacientes (Alto o Bajo) y su preferencia por el tipo de terapia psicológica (Terapia Cognitivo-Conductual o Terapia Humanista)
problema2 <- data.frame(
Ansiedad = c("Alto", "Alto", "Bajo", "Bajo"),
Terapia = c("TCC", "Humanista", "TCC", "Humanista"),
Frecuencia = c(42, 28, 18, 32)
)
tabla_p2 <- xtabs(Frecuencia ~ Ansiedad + Terapia, data = problema2)
print(tabla_p2) Terapia
Ansiedad Humanista TCC
Alto 28 42
Bajo 32 18
Hipótesis:
H0: No existe asociación entre ansiedad y preferencia de terapia
H1: Existe asociación entre ansiedad y preferencia de terapia
Resultados:
Chi-cuadrado = 5.7943
p-valor = 0.0161
En un estudio de comportamiento electoral en América Latina, se desea investigar si existe relación entre la zona geográfica y su preferencia política (Izquierda, Centro o Derecha)
problema3 <- data.frame(
Zona = c("Urbana", "Urbana", "Urbana", "Rural", "Rural", "Rural"),
Preferencia = c("Izquierda", "Centro", "Derecha", "Izquierda", "Centro", "Derecha"),
Frecuencia = c(85, 92, 78, 45, 62, 71)
)
tabla_p3 <- xtabs(Frecuencia ~ Zona + Preferencia, data = problema3)
print(tabla_p3) Preferencia
Zona Centro Derecha Izquierda
Rural 62 71 45
Urbana 92 78 85
Hipótesis:
H0: No existe relación entre zona geográfica y preferencia política
H1: Existe relación entre zona geográfica y preferencia política
Resultados:
Chi-cuadrado = 4.9442
p-valor = 0.0844
Un grupo de psicólogos desea comparar el nivel de estrés en tres tipos de trabajadores
set.seed(123)
estrés_admin <- c(4.2, 3.8, 5.1, 4.5, 3.9, 4.3, 4.7, 4.1, 3.6, 4.4)
estrés_docentes <- c(5.8, 6.2, 5.5, 6.0, 5.9, 6.1, 5.7, 5.4, 6.3, 5.6)
estrés_operarios <- c(3.5, 3.8, 3.2, 3.9, 3.4, 3.7, 3.6, 3.3, 3.8, 3.5)
datos_p4 <- data.frame(
estrés = c(estrés_admin, estrés_docentes, estrés_operarios),
tipo = rep(c("Administrativos", "Docentes", "Operarios"), each = 10)
)
cat("Estadísticas Descriptivas:
")Estadísticas Descriptivas:
for(grupo in unique(datos_p4$tipo)) {
vals <- datos_p4$estrés[datos_p4$tipo == grupo]
cat(grupo, "- Media:", round(mean(vals), 3),
"DS:", round(sd(vals), 3), "N:", length(vals), "
")
}Administrativos - Media: 4.26 DS: 0.445 N: 10
Docentes - Media: 5.85 DS: 0.303 N: 10
Operarios - Media: 3.57 DS: 0.231 N: 10
Hipótesis:
H0: No hay diferencia en estrés entre grupos
H1: Al menos un grupo tiene diferente nivel de estrés
Df Sum Sq Mean Sq F value Pr(>F)
tipo 2 27.34 13.671 119.5 3.89e-14 ***
Residuals 27 3.09 0.114
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
f_stat <- summary(anova_p4)[[1]]$F[1]
p_valor <- summary(anova_p4)[[1]]$"Pr(>F)"[1]
cat("
F-estadístico:", round(f_stat, 4), "
")
F-estadístico: 119.4553
p-valor: 0
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = estrés ~ tipo, data = datos_p4)
$tipo
diff lwr upr p adj
Docentes-Administrativos 1.59 1.214887 1.9651129 0.0000000
Operarios-Administrativos -0.69 -1.065113 -0.3148871 0.0002839
Operarios-Docentes -2.28 -2.655113 -1.9048871 0.0000000
Un grupo de analistas en Relaciones Internacionales está interesado en estudiar si el nivel de confianza ciudadana en organismos internacionales varía según el bloque regional
set.seed(456)
confianza_latam <- c(5.2, 4.8, 5.5, 5.0, 4.9, 5.3, 5.1, 4.7, 5.4, 5.2)
confianza_asia <- c(6.5, 6.8, 6.3, 6.7, 6.4, 6.6, 6.2, 6.9, 6.5, 6.4)
confianza_africa <- c(4.1, 3.8, 4.3, 3.9, 4.2, 4.0, 4.4, 3.7, 4.1, 3.9)
datos_p5 <- data.frame(
confianza = c(confianza_latam, confianza_asia, confianza_africa),
bloque = rep(c("América Latina", "Asia", "África"), each = 10)
)
cat("Estadísticas Descriptivas:
")Estadísticas Descriptivas:
for(región in unique(datos_p5$bloque)) {
vals <- datos_p5$confianza[datos_p5$bloque == región]
cat(región, "- Media:", round(mean(vals), 3),
"DS:", round(sd(vals), 3), "N:", length(vals), "
")
}América Latina - Media: 5.11 DS: 0.26 N: 10
Asia - Media: 6.53 DS: 0.221 N: 10
África - Media: 4.04 DS: 0.222 N: 10
Hipótesis:
H0: No hay diferencia en confianza entre bloques
H1: Al menos un bloque tiene diferente nivel de confianza
Df Sum Sq Mean Sq F value Pr(>F)
bloque 2 31.205 15.602 282 <2e-16 ***
Residuals 27 1.494 0.055
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
f_stat <- summary(anova_p5)[[1]]$F[1]
p_valor <- summary(anova_p5)[[1]]$"Pr(>F)"[1]
cat("
F-estadístico:", round(f_stat, 4), "
")
F-estadístico: 281.9699
p-valor: 0
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = confianza ~ bloque, data = datos_p5)
$bloque
diff lwr upr p adj
América Latina-África 1.07 0.8091697 1.33083 0
Asia-África 2.49 2.2291697 2.75083 0
Asia-América Latina 1.42 1.1591697 1.68083 0