Introducción

Row

Número de encuestas

263

Row

Género de los encuestados

Distribución de la edad

Parte 1

Row

Salarios expresados en córdobas

Tipo de empleo Género Salario medio
Formal Femenino 9630.089
Formal Masculino 17273.034
Informal Femenino 8817.169
Informal Masculino 10678.919

Empleo formal vs informal

Row

Salud autoevaluada

Problemas de presión arterial

Parte 2

Row

Salario vs Edad

Nivel educativo de los encuestados

Row

Salarios por departamento

Residencia Tipo de empleo Género Salario
Bonanza Formal Femenino 9355.400
Bonanza Formal Masculino 14155.556
Bonanza Informal Femenino 7577.778
Bonanza Informal Masculino 7928.571
Chinandega Formal Femenino 8818.182
Chinandega Formal Masculino 9860.000
Chinandega Informal Femenino 11125.000
Chinandega Informal Masculino 11171.429
Esteli Formal Femenino 10500.000
Esteli Formal Masculino 13666.667
Esteli Informal Femenino 6214.284
Esteli Informal Masculino 10239.466
Jinotega Formal Femenino 6425.000
Jinotega Formal Masculino 24209.120
Jinotega Informal Femenino 8495.857
Jinotega Informal Masculino 9100.000
León Formal Femenino 13625.000
León Formal Masculino 21285.714
León Informal Femenino 7590.909
León Informal Masculino 10500.000
Managua Formal Masculino 13500.000
Masaya Formal Femenino 6000.000
Masaya Formal Masculino 11739.845
Masaya Informal Femenino 9796.923
Masaya Informal Masculino 7192.083
Matagalpa Formal Femenino 8300.000
Matagalpa Formal Masculino 17267.536
Matagalpa Informal Femenino 12506.333
Matagalpa Informal Masculino 14202.726

Tipo de sistema de salud vs tipo de empleo

Parte 3

Row

Niveles de estrés

Síntomas del estrés

Parte 4

Row

Consumo de café por año en litros

Residencia Empleo Consumo
Bonanza Formal 155.31579
Bonanza Informal 120.25000
Chinandega Formal 50.54169
Chinandega Informal NA
Esteli Formal 141.70000
Esteli Informal 136.06667
Jinotega Formal 313.44444
Jinotega Informal 169.65709
León Formal 70.31818
León Informal 101.31945
Managua Formal 145.60000
Masaya Formal 309.40000
Masaya Informal 150.80860
Matagalpa Formal 336.24500
Matagalpa Informal 264.33333

Consumo de alcohol por año en litros

Residencia Empleo Consumo
Bonanza Formal 103.235671
Bonanza Informal 26.263539
Chinandega Formal 290.274335
Chinandega Informal NA
Esteli Formal 29.328000
Esteli Informal 10.093200
Jinotega Formal 2.888889
Jinotega Informal 7.629818
León Formal 36.671433
León Informal 10.849091
Managua Formal 2.340000
Masaya Formal 148.399420
Masaya Informal 47.388865
Matagalpa Formal 15.193750
Matagalpa Informal 91.875952

Row

Consumo de gaseosa por año en litros

Residencia Empleo Consumo
Bonanza Formal 74.17608
Bonanza Informal 138.19520
Chinandega Formal 31.55724
Chinandega Informal NA
Esteli Formal 38.95216
Esteli Informal 50.36953
Jinotega Formal 20.40856
Jinotega Informal 31.26836
León Formal 50.79652
León Informal 145.25113
Managua Formal 39.00000
Masaya Formal 199.60304
Masaya Informal 84.20346
Matagalpa Formal 128.11344
Matagalpa Informal 56.81510

Número de veces que consume frutas y verduras en un año

Residencia Tipo Verdura Fruta
Bonanza Formal 104 104
Bonanza Informal 195 195
Chinandega Formal 195 195
Chinandega Informal 175 175
Esteli Formal 328 328
Esteli Informal 274 274
Jinotega Formal 179 179
Jinotega Informal 222 222
León Formal 196 196
León Informal 215 215
Managua Formal 156 156
Masaya Formal 281 281
Masaya Informal 254 254
Matagalpa Formal 169 169
Matagalpa Informal 189 189
---
title: "Resultados prueba piloto"
author: "Raúl Godínez"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    social: menu
    source_code: embed
---

```{r setup, include=FALSE}



library(stargazer)
library(gsheet)
library(plotly)
library(flexdashboard)
library(RCurl)
library(ggplot2)
library(plyr)
library(dplyr)
library(umx)
library(psych)
library(papeR)
library(Hmisc)
library(foreign)
library(nnet)
library(DT)

url  = 'docs.google.com/spreadsheets/d/1M5AAq5lBdTkF7vokwmR01ep3yr1sIN-ECHaWhM_8UAc/edit?usp=sharing'
df = gsheet2tbl(url)
View(df)

df = df[-1]

colnames(df) = c("Q1", "Q2","Q3","Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10","Q11", "Q12","Q13" ,"Q14", "Q15"
                 ,"Q16" , "Q17", "Q18", "Q19","Q20", "Q21", "Q22","Q23", "Q24", "Q25", "Q26","Q27","Q28",
                 "Q29","Q30","Q31","Q32")

var.labels=c(Q1="Nombre",                                                                
             Q2="Edad",                                                                  
             Q3="Género" ,                                                               
             Q4="Departamento de origen"  ,                                              
             Q5="Departamento de residencia" ,                                           
             Q6="Tipo de sistema sanitario",                                             
             Q7="Nivel educativo alcanzado" ,                                             
             Q8="Empleo",                                                                
             Q9="Ingresos mensuales promedio"   ,                                                 
             Q10="Clasificación del empleo",                                              
             Q11="¿Cómo considera que está su salud física?", 
             Q12 ="Nivel de estrés",
             Q13 = "Sintomas de estrés",
             Q14= "Peso",
             Q15 ="Estatura",
             Q16="Enfermedad de presion",                                                    
             Q17="¿Usted padece de diábetes?",                                            
             Q18="¿Usted padece de alguna otra enfermedad crónica?",                      
             Q19="Enfermedad crónica",                                                                
             Q20="Alcohol por semana" ,                                           
             Q21="¿Qué tipo de alcohol consume?",                                         
             Q22="Cuando toma, ¿qué cantidad consume?" ,                              
             Q23="¿Cuántos cigarros consume por día?",  
             Q24="Gaseosa por semana?",                                      
             Q25= "Cuando toma, ¿qué cantidad consume?_1",
             Q26="Veces por semana del café", 
             Q27="Cantidad de café en ml", 
             Q28= "Cantidad de agua que consume en un día",
             Q29="¿Cada cuánto come fruta?",                                            
             Q30="¿Cuántas veces a la semana come vegetales?",                          
             Q31= "¿Cuántas veces a la semana realiza (al menos) 30 minutos de ejercicio?",
             Q32="¿De cuántos miembros es su familia?")

label(df) = as.list(var.labels[match(names(df), names(var.labels))])


#######################################################

#Colores
myPal <- c(
  rgb(224, 254, 254, maxColorValue = 255),  
  rgb(199, 206, 234, maxColorValue = 255),  
  rgb(255, 218, 193, maxColorValue = 255),
  rgb(255, 154, 162, maxColorValue = 255),
  rgb(255, 255, 216, maxColorValue = 255),
  rgb(181, 234, 215, maxColorValue = 255),
  rgb(229, 178, 204, maxColorValue = 255),
  rgb(92, 191, 194, maxColorValue = 255),
  rgb(250, 210, 169, maxColorValue = 255),
  rgb(180, 211, 117, maxColorValue = 255)
)

##############################################

#Conversión de variables para evitar errores de digitación

df$Q1 = as.character(df$Q1)
df$Q2 = as.numeric(df$Q2)
df$Q3 = as.factor(df$Q3)
df$Q4 = as.factor(df$Q4)
df$Q5 = as.factor(df$Q5)
df$Q6 = as.factor(df$Q6)
df$Q7 = as.factor(df$Q7)
df$Q8 = as.factor(df$Q8)
df$Q9 = as.numeric(df$Q9)
df$Q10 = as.factor(df$Q10)
df$Q11 = as.factor(df$Q11)
df$Q12 = as.numeric(df$Q12) #Estres
df$Q13 = as.character(df$Q13)
df$Q14 = as.numeric(df$Q14)
df$Q15 = as.numeric(df$Q15)
df$Q16 = as.factor(df$Q16)
df$Q17 = as.factor(df$Q17)
df$Q18 = as.factor(df$Q18)
df$Q19 = as.character(df$Q19)
df$Q20 = as.numeric(df$Q20)
df$Q21 = as.factor(df$Q21)
df$Q22 = as.numeric(df$Q22)
df$Q23 = as.numeric(df$Q23)
df$Q24 = as.numeric(df$Q24)
df$Q25 = as.numeric(df$Q25)
df$Q26 = as.numeric(df$Q26)
df$Q27 = as.numeric(df$Q27)
df$Q28 = as.numeric(df$Q28)
df$Q29 = as.numeric(df$Q29)
df$Q30 = as.numeric(df$Q30)
df$Q31 = as.numeric(df$Q31)
df$Q32 = as.numeric(df$Q32)

#Crear el BMI
df = df %>% 
  mutate(df,BMI = (Q14/2.2)/(Q15/100)^2)


```

# Introducción

## Row

### Número de encuestas

```{r}
comments <- count(df)
valueBox(comments, icon = "bar-chart-outline")


```

## Row

### Género de los encuestados

```{r}
library(ggthemes)
library(ggrepel)
library(cowplot)
plotdata1 = df %>%
  count(Q3)  %>%
  arrange(desc(Q3))



fig1 <- plot_ly(plotdata1, labels = ~Q3, values = ~n, type = 'pie',
               marker = list(colors = c("#e3120b","#1F80A6"),
                      line = list(color = '#FFFFFF', width = 1)))
fig1 <- fig1 %>% layout(title = 'Género de los encuestados',
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))



ggplotly(fig1)



```

### Distribución de la edad

```{r}
df1 = select(df,Q2,Q3)
AgesFactor <- ordered( cut(df1$Q2, breaks = c(15,seq(20,80,5)), 
                           include.lowest = TRUE))
df1$Q2 <- AgesFactor

df1 = df1 %>%
  group_by(Q2) %>%
  count(Q3)  %>%
  arrange(desc(Q3))

names(df1)  = c("Edad","Género","n")

gender = ggplot(df1, aes(x = Edad, fill = Género,
                 y = ifelse(test = Género == "Masculino",
                            yes = -n, no = n))) + 
  geom_bar(stat = "identity") +
  scale_y_continuous(labels = abs, limits = max(df1$n) * c(-1,1)) +
  coord_flip()+labs(title = "Distribución por edad y sexo", x = "Edad", y = "Porcentaje de la población") + scale_colour_manual(values = c("#3BD9D9","#1F80A6"),
                      aesthetics = c("colour", "fill"))+theme_economist()

gender

```

# Parte 1

## Row

### Salarios expresados en córdobas

```{r}

salary = df %>%                                        
  group_by(Q10,Q3) %>%                         
  summarise_at(vars(Q9),              
               list(Media = mean))              

names(salary)  = c("Tipo de empleo","Género","Salario medio")

knitr::kable(salary)

```

### Empleo formal vs informal

```{r}
library(ggthemes)
library(ggrepel)
library(cowplot)
plotdata = df %>%
  count(Q10)  %>%
  arrange(desc(Q10))



fig <- plot_ly(plotdata, labels = ~Q10, values = ~n, type = 'pie',
               marker = list(colors = c("#3BD9D9","#1F80A6"),
                      line = list(color = '#FFFFFF', width = 1)))
fig <- fig %>% layout(title = 'Tipo de empleo de los encuestados',
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))



ggplotly(fig)



```

## Row

### Salud autoevaluada

```{r}
graph2 = ggplot(df,
       aes(x=Q11,
           fill=Q10))+geom_bar(position = "fill")+labs(y="Proporción",x="",
                                                       fill="Empleo")+theme_minimal()+
  scale_fill_manual(values = c("#1F80A6","#e3120b"))

ggplotly(graph2)

```

### Problemas de presión arterial

```{r}

graph3 = ggplot(df,
       aes(x=Q16,
           fill=Q10))+geom_bar(position = "fill")+labs(y="Proporción",x="",
                                                       fill="Empleo")+theme_minimal()+
  scale_fill_manual(values = c("#1F80A6","#e3120b"))

ggplotly(graph3)


```

# Parte 2

## Row

### Salario vs Edad

```{r}
se = select(df,Q2,Q9,Q5)
names(se) = c("Edad","Ingreso","residencia")

graph =  ggplot(se, aes(x=Edad,
                          y= Ingreso)) + geom_point(aes(color = residencia)) + geom_point(aes(color = residencia),
                    shape=21, 
                    fill= "White")
g2 <- graph + geom_point(aes(color = residencia),
                          shape=21, 
                          fill= "White",
                          size =2, 
                          stroke=1)

g3 = g2 + geom_smooth(method = "lm", 
                 formula = y ~log(x), se = FALSE)

g3 <- g2+scale_color_manual(values = c("#1F80A6", "#A1282A",       "#3BD9D9", "#208F84", 
                                       "#9ae5de", "#FA9974","#FA2597","#e3120b"))+ theme(legend.position="top")


g4 <- g3 + theme(panel.grid.minor = element_blank(), 
                 panel.grid.major = element_line(color = "#d4dddd", size = 0.5),
                 panel.grid.major.x = element_blank(),
                 panel.background = element_blank(),
                 line = element_blank())

ggplotly(g4)






```

### Nivel educativo de los encuestados

```{r}
educated   =  select(df,Q7,Q10)
names(educated)  = c("Educación","Empleo")


graph6 = ggplot(educated,
       aes(x=Educación,
           fill=Empleo))+geom_bar(position = "fill")+labs(y="Proporción",x="",
                                                       fill="Empleo")+theme_minimal()+
  scale_fill_manual(values = c("#1F80A6","#e3120b"))

ggplotly(graph6)

```

## Row

### Salarios por departamento

```{r}
departamentos  =  df %>%
  group_by(Q5,Q10,Q3) %>%
  summarise_at(vars(Q9),
               list(Salario  = mean))

names(departamentos)  = c("Residencia","Tipo de empleo","Género","Salario")
knitr::kable(departamentos)
```

### Tipo de sistema de salud vs tipo de empleo

```{r}
health   =  select(df,Q6,Q7)
names(health)  = c("Sistema","Educación")


#Declaramos los factores para clasificar
health$Sistema = factor(health$Sistema, 
                  levels = levels(health$Sistema),
                  labels = c("Privada",
                             "Privada y seguro",
                             "Pública",
                             "Pública y seguro",
                            "Pública y privada","Seguro"))


graph7 = ggplot(health,
       aes(x=Sistema,
           fill=Educación))+geom_bar(position = "fill")+labs(y="Proporción",x="",
                                                      fill="Educación")+theme_minimal()+
  scale_fill_manual(values = c("#1F80A6","#3BD9D9","#FF8F6A","#e3120b"))+theme(plot.subtitle = element_text(family = "Helvetica"), 
    plot.caption = element_text(family = "Helvetica", 
        size = 8, colour = "gray64", hjust = 0), 
    axis.line = element_line(size = 0.4, 
        linetype = "solid"), axis.ticks = element_line(size = 0.3, 
        linetype = "blank"), panel.grid.major = element_line(colour = "gray80", 
        linetype = "blank"), panel.grid.minor = element_line(colour = "gray80", 
        size = 0.4), axis.text = element_text(family = "AvantGarde", 
        size = 9, colour = "gray45"), axis.text.x = element_text(family = "AvantGarde", 
        size = 9, colour = "gray45"), plot.title = element_text(family = "Helvetica", 
        size = 15, face = "bold"), legend.title = element_text(family = "Helvetica"), 
    panel.background = element_rect(fill = "white"), 
    plot.background = element_rect(fill = "white"), 
    legend.position = "top", legend.direction = "horizontal") +labs(title = "Sistema sanitario", x = NULL, 
    y = NULL, fill = "Nivel educativo", subtitle = "Sistema de salud utilizado por los encuestados en base a su nivel de educación", 
    caption = "Fuente: Elaboración propia en base a datos recolectados en la encuesta")

ggplotly(graph7)
```

# Parte 3

## Row

### Niveles de estrés

```{r}
estres =  select(df,Q12,Q10)
names(estres)  =  c("Estrés","Empleo")

library(ggpol)
library(scales)

graph8 = ggplot(estres,
       aes(x = factor(Empleo,
                      labels = c("Empleo formal",
                                 "Empleo informal")),
           y = Estrés,
          fill =Empleo))+ geom_boxjitter(color = "black",
                                         jitter.color = "darkgrey",
                                         errorbar.draw = TRUE)+
  labs(title = "Nivel de estrés según tipo de empleo",
       y = "",
       x= "") + theme_minimal()+theme(legend.position = "none")

graph8

```

### Síntomas del estrés

```{r}

library(ggwordcloud)


sintomas =select(df,Q13)
sintomas   = filter(sintomas,Q13 != "Nada")

sinto <- within(data=sintomas, Q13<-data.frame
      (do.call('rbind',strsplit(as.character(Q13),", ",fixed=TRUE))))

sinto  = c(sinto$Q13$X1,sinto$Q13$X2)
sinto = data.frame(sinto)

sinto  = sinto %>%
  count(sinto) %>%
  mutate(prop = round(n*100 / sum(n), 1),
         lab.ypos = cumsum(prop) -0.5 *prop)

cloud  = ggplot(sinto, aes(label = sinto, size = n)) +
  geom_text_wordcloud() +
  scale_size_area(max_size = 20) +
  theme_economist()


cloud
```

# Parte 4

## Row

### Consumo de café por año en litros

```{r}
cafe = select(df,Q5,Q10,Q26,Q27)
cafe  = cafe %>%
  mutate(cafe, cafe_anual = (Q26*Q27*52)/1000)
cafe = cafe %>%
  group_by(Q5,Q10) %>%
  summarise_at(vars(cafe_anual),
               list(Consumo_anual_medio = mean))

names(cafe)  = c("Residencia","Empleo","Consumo")

knitr::kable(cafe)

```

### Consumo de alcohol por año en litros

```{r}
licor = select(df,Q5,Q10,Q20,Q21,Q22)
licor  = licor %>%
  mutate(licor, licor_anual = (Q20*Q22*52)/1000)
licor = licor %>%
  group_by(Q5,Q10) %>%
  summarise_at(vars(licor_anual),
               list(Consumo_anual_medio = mean))

names(licor)  = c("Residencia","Empleo","Consumo")

knitr::kable(licor)

```

## Row

### Consumo de gaseosa por año en litros

```{r}
coca = select(df,Q5,Q10,Q24,Q25)
coca  = coca %>%
  mutate(coca, coca_anual = (Q24*Q25*52)/1000)
coca = coca %>%
  group_by(Q5,Q10) %>%
  summarise_at(vars(coca_anual),
               list(Consumo_anual_medio = mean))

names(coca)  = c("Residencia","Empleo","Consumo")

knitr::kable(coca)

```

### Número de veces que consume frutas y verduras en un año

```{r}
ver = select(df,Q5,Q10,Q29,Q30)
ver  = ver %>%
  mutate(ver, ver_anual = (Q29*52)) %>%
  mutate(ver, fru_anual = Q30*52) 
ver = ver %>%
  group_by(Q5,Q10) %>%
  summarise_at(vars(ver_anual,fru_anual),
               list(Consumo_anual_medio = mean))

names(ver)  = c("Residencia","Tipo","Verdura","Fruta")

ver$Verdura = round(ver$Verdura,0)
ver$Fruta = round(ver$Verdura,0)

knitr::kable(ver)

```