rm(list = ls(all = TRUE))
graphics.off()
#shell("cls")
# 0. Instalar/llamar librerías
# install.packages(c("readxl","dplyr","tidyr","ggplot2","wordcloud","RColorBrewer"))
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.2
##
## 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(tidyr)
## Warning: package 'tidyr' was built under R version 4.2.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.2
library(wordcloud)
## Warning: package 'wordcloud' was built under R version 4.2.3
## Carregando pacotes exigidos: RColorBrewer
library(RColorBrewer)
library(tm)
## Warning: package 'tm' was built under R version 4.2.3
## Carregando pacotes exigidos: NLP
##
## Attaching package: 'NLP'
## The following object is masked from 'package:ggplot2':
##
## annotate
# 1. Configuración de paleta técnica
pal <- c("#2C3E50","#95A5A6","#BDC3C7","#D7DBDD","#EBEFF2")
# 2. Leer y renombrar columnas
df <- read_excel("C:/Users/PC/Desktop/sinai/Formulario sin título (Respuestas).xlsx")
df <- df %>% rename(
Edad = `1.1. Edad`,
Genero = `1.2. Género`,
Residencia = `1.3. Tiempo de residencia en el barrio.`,
Escolaridad = `1.4. Último nivel de escolaridad`,
Num_personas = `1.5. ¿Cantidad de personas que viven en su unidad habitacional o casa?`,
Condiciones = `1.6. ¿En su casa vive alguien con alguna de estas condiciones?`,
Exposicion = `2.1. ¿Considera que su comunidad está expuesta al riesgo de deslizamiento?`,
Preocupacion = `2.2. ¿Qué tan preocupado se siente usted de que pueda haber un riesgo de deslizamiento?`,
Evento_conocido = `2.3. ¿Ha presenciado o conocido algún evento de deslizamiento en su comunidad?`,
Descripcion_evento= `2.3.1 En caso de que la pregunta anterior sea afirmativa, por favor, describa el evento (¿Hace cuánto tiempo sucedió y cómo le afectó a usted este evento?)`,
Afectacion = `2.4. ¿Ha tenido alguna afectación en su casa a causa de un deslizamiento?`,
Conoce_medidas = `2.5. ¿Conoce usted alguna medida preventiva para evitar los deslizamientos?`,
Medidas_conocidas = `2.5.1 En caso de que la pregunta anterior sea afirmativo, por favor, seleccione cuáles conoce:`,
Preparado = `2.6. ¿Considera que se encuentra preparad@ ante el riesgo del deslizamiento?`,
Opciones_preparac = `2.6.1. En caso de que la pregunta anterior sea afirmativo, por favor, seleccione todas las opciones que considera que apliquen:`,
Ha_tomado_medida = `2. 7. ¿Ha tomado alguna medida para prepararse ante el riesgo de deslizamiento?`,
Medidas_tomadas = `2.7.1 En caso de que la pregunta anterior sea afirmativo, ¿Qué medida(s) ha tomado?`,
Capacita = `2.8. ¿Ha recibido capacitación o apoyo de alguna institución o persona(s) relacionado con el riesgo de deslizamiento?`,
Fuente_cap = `2.8.1 En caso de que la pregunta anterior (2.8) sea afirmativo ¿De parte de qué institución o persona(s) ha recibido esta capacitación o apoyo?`,
Familia_cap = `2.8.2 En caso de que la pregunta anterior sea afirmativo ¿Quién o quiénes de su familia lo han recibido?`,
Necesita_cap = `2.8.3 En caso de que la respuesta a la pregunta 2.8 sea negativo, ¿considera necesario recibir una capacitación relacionada con la preparación ante el riesgo de deslizamiento?`,
Conoce_grupo = `2.9. ¿Conoce si existe algún grupo comunitario organizado en Sinaí en caso de emergencia?`,
Participa_grupo = `2.9.1 En caso de que la pregunta anterior sea afirmativo, ¿participa usted en esta organización comunitaria?`
)
setwd("C:/Users/PC/Desktop/sinai/resultados")
##### Pregunta 1: Distribución de Edad
df %>%
count(Edad) %>%
ggplot(aes(x="", y=n, fill=Edad)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Distribución de Edad", caption="Pregunta 1") +
theme_void()

##### Pregunta 2: Distribución por Género
df %>%
count(Genero) %>%
ggplot(aes(x="", y=n, fill=Genero)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Distribución por Género", caption="Pregunta 2") +
theme_void()

##### Pregunta 3: Tiempo de Residencia
df %>%
count(Residencia) %>%
ggplot(aes(x=reorder(Residencia,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Tiempo de Residencia en el Barrio",
x="Residencia (años)", y="Frecuencia",
caption="Pregunta 3") +
theme_minimal()

##### Pregunta 4: Nivel de Escolaridad
df %>%
count(Escolaridad) %>%
ggplot(aes(x=reorder(Escolaridad,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Nivel de Escolaridad",
x="Último nivel alcanzado", y="Frecuencia",
caption="Pregunta 4") +
theme_minimal()

##### Pregunta 5: Número de Personas por Vivienda
ggplot(df, aes(x=Num_personas)) +
geom_histogram(binwidth=1, fill=pal[1], color="white") +
labs(title="Número de Personas por Vivienda",
x="Personas", y="Frecuencia",
caption="Pregunta 5") +
theme_minimal()

##### Pregunta 6: Condiciones Habitacionales
df %>%
separate_rows(Condiciones, sep=",") %>%
filter(Condiciones!="") %>%
count(Condiciones) %>%
ggplot(aes(x=reorder(Condiciones,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Condiciones Habitacionales",
x="Condición", y="Frecuencia",
caption="Pregunta 6") +
theme_minimal()

##### Pregunta 7: Percepción de Exposición al Riesgo
df %>%
count(Exposicion) %>%
ggplot(aes(x="", y=n, fill=Exposicion)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Percepción de Exposición al Riesgo",
caption="Pregunta 7") +
theme_void()

##### Pregunta 8: Nivel de Preocupación
df %>%
count(Preocupacion) %>%
ggplot(aes(x=reorder(Preocupacion,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Nivel de Preocupación ante Deslizamiento",
x="Nivel de preocupación", y="Frecuencia",
caption="Pregunta 8") +
theme_minimal()

##### Pregunta 9: Conocimiento de Evento de Deslizamiento
df %>%
count(Evento_conocido) %>%
ggplot(aes(x="", y=n, fill=Evento_conocido)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Conocimiento de Evento de Deslizamiento",
caption="Pregunta 9") +
theme_void()

##### Pregunta 10: Descripción de Eventos (nube de palabras)
text <- paste(df$Descripcion_evento, collapse=" ")
words <- unlist(strsplit(text, "\\s+"))
wordcloud(words, scale=c(3,0.5), min.freq=1,
colors=brewer.pal(8,"Dark2"), random.order=FALSE)
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
## Warning in tm_map.SimpleCorpus(corpus, function(x) tm::removeWords(x,
## tm::stopwords())): transformation drops documents
title("Nube de Palabras: Descripción de Eventos")

##### Pregunta 11: Afectación en la Vivienda
df %>%
count(Afectacion) %>%
ggplot(aes(x="", y=n, fill=Afectacion)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Afectación en la Vivienda",
caption="Pregunta 11") +
theme_void()

##### Pregunta 12: Conocimiento de Medidas Preventivas
df %>%
count(Conoce_medidas) %>%
ggplot(aes(x="", y=n, fill=Conoce_medidas)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Conocimiento de Medidas Preventivas",
caption="Pregunta 12") +
theme_void()

##### Pregunta 13: Medidas Preventivas Conocidas
df %>%
separate_rows(Medidas_conocidas, sep=",") %>%
filter(Medidas_conocidas!="") %>%
count(Medidas_conocidas) %>%
ggplot(aes(x=reorder(Medidas_conocidas,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Medidas Preventivas Conocidas",
x="Medida", y="Frecuencia",
caption="Pregunta 13") +
theme_minimal()

##### Pregunta 14: Percepción de Preparación
df %>%
count(Preparado) %>%
ggplot(aes(x="", y=n, fill=Preparado)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Percepción de Preparación",
caption="Pregunta 14") +
theme_void()

##### Pregunta 15: Opciones de Preparación Aplicables
### `2.6.1. En caso de que la pregunta anterior sea afirmativo, por favor, seleccione todas las opciones que considera que apliquen:`,
#df %>%
# separate_rows(Opciones_prepara, sep=",") %>%
# filter(Opciones_prepara!="") %>%
# count(Opciones_prepara) %>%
# ggplot(aes(x=reorder(Opciones_prepara,n), y=n)) +
# geom_col(fill=pal[1]) +
# coord_flip() +
# labs(title="Opciones de Preparación Aplicables",
# x="Opción", y="Frecuencia",
# caption="Pregunta 15") +
# theme_minimal()
##### Pregunta 16: Acción Tomada para Preparación
df %>%
count(Ha_tomado_medida) %>%
ggplot(aes(x="", y=n, fill=Ha_tomado_medida)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Acción Tomada para Preparación",
caption="Pregunta 16") +
theme_void()

##### Pregunta 17: Medidas Tomadas (nube de palabras)
text2 <- paste(df$Medidas_tomadas, collapse=" ")
words2 <- unlist(strsplit(text2, "\\s+"))
wordcloud(words2, scale=c(3,0.5), min.freq=1,
colors=brewer.pal(8,"Dark2"), random.order=FALSE)
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
title("Nube de Palabras: Medidas Tomadas")

##### Pregunta 18: Capacitación Recibida
df %>%
count(Capacita) %>%
ggplot(aes(x="", y=n, fill=Capacita)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Capacitación Recibida",
caption="Pregunta 18") +
theme_void()

##### Pregunta 19: Fuente de Capacitación
df %>%
count(Fuente_cap) %>%
filter(!is.na(Fuente_cap)) %>%
ggplot(aes(x=reorder(Fuente_cap,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Fuente de Capacitación",
x="Institución / Persona", y="Frecuencia",
caption="Pregunta 19") +
theme_minimal()

##### Pregunta 20: Miembros de la Familia que Recibieron Capacitación
df %>%
separate_rows(Familia_cap, sep=",") %>%
filter(Familia_cap!="") %>%
count(Familia_cap) %>%
ggplot(aes(x=reorder(Familia_cap,n), y=n)) +
geom_col(fill=pal[1]) +
coord_flip() +
labs(title="Familia que Recibió Capacitación",
x="Miembro familiar", y="Frecuencia",
caption="Pregunta 20") +
theme_minimal()

##### Pregunta 21: Necesidad de Capacitación
df %>%
count(Necesita_cap) %>%
ggplot(aes(x="", y=n, fill=Necesita_cap)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Necesidad de Capacitación",
caption="Pregunta 21") +
theme_void()

##### Pregunta 22: Conocimiento de Grupo Comunitario
df %>%
count(Conoce_grupo) %>%
ggplot(aes(x="", y=n, fill=Conoce_grupo)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Conocimiento de Grupo Comunitario",
caption="Pregunta 22") +
theme_void()

##### Pregunta 23: Participación en Grupo Comunitario
df %>%
count(Participa_grupo) %>%
ggplot(aes(x="", y=n, fill=Participa_grupo)) +
geom_col(width=1) +
coord_polar("y") +
scale_fill_manual(values=pal) +
labs(title="Participación en Grupo Comunitario",
caption="Pregunta 23") +
theme_void()

rm(list = ls(all = TRUE))
graphics.off()
#shell("cls")
rm(list = ls(all = TRUE))
graphics.off()
#shell("cls")
rm(list = ls(all = TRUE))
graphics.off()
#shell("cls")
rm(list = ls(all = TRUE))
graphics.off()
#shell("cls")