# Cargar las librerías
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.1
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.1
# Cargar los datos
M19 = read.csv("Datos_molec_2019.csv")
M20 = read.csv("Datos_molec_2020.csv")
M21 = read.csv("Datos_molec_2021.csv")
M22 = read.csv("Datos_molec_2022.csv")
M23 = read.csv("Datos_molec_2023.csv")
M24 = read.csv("Datos_molec_2024.csv")

# Combinar los conjuntos de datos
base_completa = bind_rows(M19, M20, M21, M22, M23, M24)

# Crear la base de reto con variables específicas
base_reto1 <- base_completa[, c("edad", "p3_5", "p5", "p6_2", "p31", "p32", "p35", "p36_3")]
base_reto = subset(base_reto1, p31 != 0)

# Guardar la base de reto en un archivo CSV
write.csv(x = base_reto, file = "BaseDelReto.csv", row.names = FALSE)

# Análisis de la variable p31
column_number <- which(colnames(base_reto) == "p31")
p31 = base_reto[, column_number]

# Calcular frecuencia relativa
frecuencia_relativa <- prop.table(table(p31))
# Calcular frecuencia absoluta
frecuencia_absoluta <- frecuencia_relativa * dim(base_reto)[1]

# Definir colores para cada categoría
colores <- c("skyblue", "salmon")

# Crear un gráfico de barras con etiquetas de porcentaje
barplot(frecuencia_absoluta, 
        main = "¿Consulta otros materiales para buscar más información sobre su lectura?", 
        col = colores, 
        xlab = "Categoría", 
        ylab = "Frecuencia", 
        names.arg = c("Sí", "No"),
        ylim = c(0, max(frecuencia_absoluta) * 1.1))  # Aumentar el límite del eje y

# Agregar etiquetas de porcentaje en cada barra
text(x = c(1, 2), 
     y = frecuencia_absoluta + 0.5,  # Posición por encima de las barras
     labels = paste0(round(frecuencia_relativa * 100, 1), "%"),  # Formatear porcentaje
     col = "black")

# Crear un gráfico de pastel para datos combinados usando la misma base de datos
frecuencias_totales <- table(p31)  # Usar la misma variable p31
etiquetas <- c("Si", "No")
colores <- c("cornsilk", "darksalmon")

# Calcular porcentajes para el gráfico de pastel
porcentajes <- round(frecuencias_totales / sum(frecuencias_totales) * 100, 1)

pie(frecuencias_totales, 
    labels = paste(etiquetas, "\n", porcentajes, "%"),  # Etiquetas con porcentaje
    main = "¿Acostumbra consultar otros materiales\npara buscar más\ninformación sobre su lectura\n(Datos combinados de 2019 a 2024)", 
    col = colores, 
    border = "white")  # Agregar borde blanco

# Comprobar los nombres de las columnas
print(colnames(base_reto))
## [1] "edad"  "p3_5"  "p5"    "p6_2"  "p31"   "p32"   "p35"   "p36_3"
# Verificar la estructura y resumen de p32
column_number <- which(colnames(base_reto) == "p32")
p32 = base_reto[, column_number]
print(str(p32))
##  int [1:8243] 0 0 0 0 0 0 0 0 0 0 ...
## NULL
print(summary(p32))
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0       0       0       0       0       0
# Comprobar el conteo de p32 antes de calcular frecuencias
conteo_p32 <- table(p32)
print(conteo_p32)
## p32
##    0 
## 8243
# Calcular frecuencia relativa y absoluta
frecuencia_relativa <- prop.table(conteo_p32)
print(frecuencia_relativa)
## p32
## 0 
## 1
frecuencia_absoluta <- frecuencia_relativa * dim(base_reto)[1]

column_number <- which(colnames(base_reto) == "p32")
p32= base_reto[ ,column_number]
frecuencia_relativa<- prop.table(table(p32))
frecuencia_relativa
## p32
## 0 
## 1
frecuencia_absoluta<-frecuencia_relativa*dim(base_reto)[1]

barplot(frecuencia_absoluta, main = "Distribución de la Categoría", col = "skyblue", xlab = "Categoría", ylab = "Frecuencia")

colores = c("cornsilk", "darksalmon")

frecuencias_totales <- table(c(M19$p32, M20$p32, M21$p32, M22$p32, M23$p32, M24$p32))

pie(frecuencias_totales, labels = c("Por falta de interés", "Preferencia de realizar otras actividades", "Por falta de tiempo", "Por falta de dinero", "Por problemas de salud", "Otro"), main = "Razones para no lectura \n (Datos combinados de 2019 a 2024)", col = c("cornsilk", "darksalmon", "white", "pink", "green", "blue"))