M = read.csv("DatosEquipo7.csv")
# Ver estructura básica
str(M)
## 'data.frame': 3996 obs. of 8 variables:
## $ entidad: int 1 1 1 1 1 1 1 1 1 1 ...
## $ p5 : int 0 0 0 0 0 0 4 0 0 0 ...
## $ p11 : int 0 0 0 0 0 4 0 0 0 0 ...
## $ p17 : int 0 0 4 0 0 4 0 3 0 3 ...
## $ p34_2 : int 2 1 1 1 3 1 1 3 3 1 ...
## $ p34_3 : int 2 2 2 1 3 1 1 3 3 1 ...
## $ p26 : int 0 0 15 0 0 10 60 15 0 20 ...
## $ p4 : int 0 0 0 0 0 0 1 0 0 0 ...
summary(M)
## entidad p5 p11 p17
## Min. : 1.00 Min. :0.000 Min. :0.0000 Min. :0.0000
## 1st Qu.: 9.00 1st Qu.:0.000 1st Qu.:0.0000 1st Qu.:0.0000
## Median :15.00 Median :0.000 Median :0.0000 Median :0.0000
## Mean :15.66 Mean :1.359 Mean :0.9422 Mean :0.8421
## 3rd Qu.:21.00 3rd Qu.:3.000 3rd Qu.:1.0000 3rd Qu.:1.0000
## Max. :32.00 Max. :6.000 Max. :6.0000 Max. :6.0000
## p34_2 p34_3 p26 p4
## Min. :0.000 Min. :0.00 Min. : 0.00 Min. : 0.000
## 1st Qu.:1.000 1st Qu.:1.00 1st Qu.: 0.00 1st Qu.: 0.000
## Median :1.000 Median :2.00 Median : 20.00 Median : 0.000
## Mean :1.473 Mean :1.64 Mean : 27.16 Mean : 1.305
## 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.: 35.00 3rd Qu.: 2.000
## Max. :3.000 Max. :3.00 Max. :360.00 Max. :70.000
M$p34_2_bin = ifelse(M$p34_2 == 1, "Sí",
ifelse(M$p34_2 == 2, "No", NA))
M$p34_3_bin = ifelse(M$p34_3 == 1, "Sí",
ifelse(M$p34_3 == 2, "No", NA))
# Motivos de lectura de libros vs padres que leen
table_libros = table(M$p5, M$p34_2_bin)
cat("Tabla: Motivos de lectura de libros")
## Tabla: Motivos de lectura de libros
print(table_libros)
##
## No Sí
## 0 1313 919
## 1 60 113
## 2 54 129
## 3 120 270
## 4 233 426
## 5 107 67
## 6 10 17
if (sum(table_libros) > 0) {
cat("\n Chi-cuadrada libros ")
print(chisq.test(table_libros))
}
##
## Chi-cuadrada libros
## Pearson's Chi-squared test
##
## data: table_libros
## X-squared = 241.28, df = 6, p-value < 2.2e-16
# Motivos de lectura de revistas vs padres que leían
table_revistas = table(M$p11, M$p34_3_bin)
cat("\n Tabla: Motivos de lectura de revistas ")
##
## Tabla: Motivos de lectura de revistas
print(table_revistas)
##
## No Sí
## 0 1940 830
## 1 55 31
## 2 16 29
## 3 124 116
## 4 351 260
## 5 52 19
## 6 2 2
if (sum(table_revistas) > 0) {
cat("\n Chi-cuadrada revistas ")
print(chisq.test(table_revistas))
}
##
## Chi-cuadrada revistas
## Warning in chisq.test(table_revistas): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table_revistas
## X-squared = 83.072, df = 6, p-value = 8.275e-16
# Motivos de lectura de periódicos vs padres
table_periodicos = table(M$p17, M$p34_2_bin)
cat("\n Tabla: Motivos de lectura de periódicos ")
##
## Tabla: Motivos de lectura de periódicos
print(table_periodicos)
##
## No Sí
## 0 1472 1356
## 1 11 12
## 2 5 5
## 3 247 386
## 4 156 180
## 5 3 0
## 6 3 2
if (sum(table_periodicos) > 0) {
cat("\n Chi-cuadrada periódicos ")
print(chisq.test(table_periodicos))
}
##
## Chi-cuadrada periódicos
## Warning in chisq.test(table_periodicos): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table_periodicos
## X-squared = 39.74, df = 6, p-value = 5.125e-07
# Gráfica 1 libros
boxplot(M$p4 ~ M$p34_2_bin,
main = "Número de libros leídos según si veía a sus padres leer",
xlab = "¿Veía a sus padres leer?",
ylab = "Número de libros leídos (p4)",
col = c("red", "lightblue"),
border = "gray")
# Añadir medias con puntos
means_p4 = tapply(M$p4, M$p34_2_bin, mean, na.rm = TRUE)
points(1:2, means_p4, pch = 19, col = "black")

# Boxplot 2 Minutos de lectura (p26) según si los padres le leían
boxplot(M$p26 ~ M$p34_3_bin,
main = "Minutos de lectura por sesión según si sus padres le leían",
xlab = "¿Sus padres le leían?",
ylab = "Minutos continuos de lectura (p26)",
col = c("red", "lightblue"),
border = "gray")

# Gráfica 3 relación entre p4 y p26
plot(
M$p4, M$p26,
main = "Relación entre libros leídos (p4) y minutos por sesión (p26)",
xlab = "Libros leídos en el año (p4)",
ylab = "Minutos por sesión (p26)",
pch = 19, col = "blue"
)
abline(lm(p26 ~ p4, data = M), col = "red", lwd = 2)

# Calcular correlación
cat("Correlación entre p4 y p26 ")
## Correlación entre p4 y p26
print(cor(M$p4, M$p26, use = "complete.obs"))
## [1] 0.4984856