Cargar Datos

Los datos originales (editados) están en un archivo Excel. Usamos read_excel del paquete readxl para cargar los datos.

library(readxl)
entrevistas <- read_excel("EntrevistasSemanaSantaCorredorNE.xlsx")

Análisis de Frecuencias en las Variables

Utilizamos la función table para calcular las frecuencias de las respuestas de las variables (preguntas) categóricas o numéricas. Extraemos de una lista los valores como data frame y construimos la tabla usando el paquete gt. Finalmente, producimos una imagen .png de la tabla.

Tipo de vehículo

library(epiDisplay)
library(tibble)
library(gt)
library(gtsummary)
# Tipo de vehículo
tab.vehic <- tab1(entrevistas$Tipo_de_vehiculo,
                  bar.values = "percent",
                  main = "Frecuencia de Tipo de Vehículo",
                  ylab = "%",
                  sort.group = "decreasing",
                  missing = FALSE)

tabla.vehic <- as.data.frame(tab.vehic[[2]]) %>% 
  rownames_to_column(var = "Vehiculo") %>% 
  gt()
tabla.vehic
Vehiculo Frequency %(NA+) %(NA-)
SUV 101 31.3 41.2
NA. 78 24.1 0.0
Pick.up 56 17.3 22.9
Otro 50 15.5 20.4
Jeep.Wrangler 38 11.8 15.5
X..Total 323 100.0 100.0
tabla.vehic %>% 
  gtsave(filename = "tabla.vehic.png")

Cantidad de personas por vehículo

# Personas x vehículo
tab.person <- tab1(entrevistas$Cantidad_de_personas_por_vehiculo,
                  bar.values = "percent",
                  main = "Frecuencia de Personas por Vehículo",
                  ylab = "%",
                  missing = FALSE)

tabla.person <- as.data.frame(tab.person[[2]]) %>% 
  rownames_to_column(var = "Cantidad de personas") %>% 
  gt()
tabla.person
Cantidad de personas Frequency %(NA+) %(NA-)
X1 28 8.7 9.2
X2 138 42.7 45.4
X3 71 22.0 23.4
X4 41 12.7 13.5
X5 20 6.2 6.6
X6 5 1.5 1.6
X7 1 0.3 0.3
NA. 19 5.9 0.0
X..Total 323 100.0 100.0
tabla.person %>% 
  gtsave(filename = "tabla.person.png")

Pueblo de origen

# Pueblo
tab.pueblo <- tab1(entrevistas$Pueblo, sort.group = "decreasing",
                   bar.values = "none",
                  main = "Frecuencia de Visitas por Pueblo",
                  missing = FALSE,
                   cex.main = 0.8, cex.axis = 0.8, 
                   cex.name = 0.5)

tabla.pueblo <- as.data.frame(tab.pueblo[[2]]) %>% 
  rownames_to_column(var = "Pueblo_de_origen") %>% 
  gt()
tabla.pueblo
Pueblo_de_origen Frequency %(NA+) %(NA-)
Luquillo 52 16.1 16.8
SanJuan 43 13.3 13.9
Carolina 35 10.8 11.3
RioGrande 20 6.2 6.5
Fajardo 19 5.9 6.1
Canovanas 16 5.0 5.2
Guaynabo 14 4.3 4.5
Bayamon 13 4.0 4.2
NA. 13 4.0 0.0
Juncos 12 3.7 3.9
TrujilloAlto 12 3.7 3.9
Caguas 10 3.1 3.2
Humacao 9 2.8 2.9
LasPiedras 9 2.8 2.9
EEUU 8 2.5 2.6
Gurabo 5 1.5 1.6
SanLorenzo 5 1.5 1.6
ToaAlta 5 1.5 1.6
Dorado 4 1.2 1.3
Cayey 3 0.9 1.0
Ceiba 3 0.9 1.0
Naguabo 3 0.9 1.0
ToaBaja 2 0.6 0.6
Cidra 1 0.3 0.3
JuanaDiaz 1 0.3 0.3
Loiza 1 0.3 0.3
Mayaguez 1 0.3 0.3
Salinas 1 0.3 0.3
VegaAlta 1 0.3 0.3
VegaBaja 1 0.3 0.3
Yabucoa 1 0.3 0.3
X..Total 323 100.0 100.0
tabla.pueblo %>% 
  gtsave(filename = "tabla.pueblo.png")

# por cienmil
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
pop <- c(17800,342000,154815,47000,32000,42300,89800,185000,0,37000,67700,127200,50900,35200,300000000,40600,37700,66900,35900,41700,11300,23400,75300,40000,46500,23700,73100,25800,35400,54400,30400,1)
porcienmil <- as.data.frame(tabla.pueblo) %>% 
  mutate(frecuencia = as.numeric(Frequency)) %>% 
  mutate(xcienmil = (frecuencia*100000/pop)) %>% 
  arrange(-xcienmil)
porcienmil1 <- filter(porcienmil, !Pueblo_de_origen %in% c("NA.","X..Total")) 
porcienmil1 %>% 
  gt() %>% 
  fmt_number(
    columns = xcienmil,
    decimals = 0
  )
Pueblo_de_origen Frequency %(NA+) %(NA-) frecuencia xcienmil
Luquillo 52 16.1 16.8 52 292
Fajardo 19 5.9 6.1 19 59
RioGrande 20 6.2 6.5 20 43
Canovanas 16 5.0 5.2 16 38
Juncos 12 3.7 3.9 12 32
Ceiba 3 0.9 1.0 3 27
LasPiedras 9 2.8 2.9 9 26
Carolina 35 10.8 11.3 35 23
TrujilloAlto 12 3.7 3.9 12 18
Humacao 9 2.8 2.9 9 18
Guaynabo 14 4.3 4.5 14 16
SanLorenzo 5 1.5 1.6 5 13
Naguabo 3 0.9 1.0 3 13
SanJuan 43 13.3 13.9 43 13
Gurabo 5 1.5 1.6 5 12
Dorado 4 1.2 1.3 4 11
Caguas 10 3.1 3.2 10 8
ToaAlta 5 1.5 1.6 5 7
Cayey 3 0.9 1.0 3 7
Bayamon 13 4.0 4.2 13 7
Loiza 1 0.3 0.3 1 4
Salinas 1 0.3 0.3 1 4
Yabucoa 1 0.3 0.3 1 3
VegaAlta 1 0.3 0.3 1 3
ToaBaja 2 0.6 0.6 2 3
Cidra 1 0.3 0.3 1 2
JuanaDiaz 1 0.3 0.3 1 2
VegaBaja 1 0.3 0.3 1 2
Mayaguez 1 0.3 0.3 1 1
EEUU 8 2.5 2.6 8 0

Region de origen

library(dplyr)
# Región
tab.region<- tab1(entrevistas$Region_origen, 
                  sort.group = "decreasing", 
                  horiz = TRUE,
                  missing = FALSE)

tabla.region <- as.data.frame(tab.region[[2]]) %>% 
  rownames_to_column(var = "Región de Origen") %>% 
  gt()
tabla.region
Región de Origen Frequency %(NA+) %(NA-)
Metro 120 37.2 38.7
Noreste 87 26.9 28.1
Este 52 16.1 16.8
Norte 26 8.0 8.4
NA. 13 4.0 0.0
Centro 12 3.7 3.9
EEUU 8 2.5 2.6
Sur 3 0.9 1.0
Oeste 1 0.3 0.3
Sureste 1 0.3 0.3
X..Total 323 100.0 100.0
tabla.region %>% 
  gtsave(filename = "tabla.region.png")

Frecuencia de visita

# Visita
tab.visita <- tab1(entrevistas$Frecuencia_de_visita,
                   bar.values = "percent",
                   ylab = "%",
                   sort.group = "decreasing",
                   missing = FALSE,
                   cex.names = 0.6)

tabla.visita <- as.data.frame(tab.visita[[2]]) %>% 
  rownames_to_column(var = "Frecuencia Visita") %>% 
  gt()
tabla.visita
Frecuencia Visita Frequency %(NA+) %(NA-)
Primera.visita 148 45.8 47.7
Varias.veces.al.mes 85 26.3 27.4
Varias.veces.al.año 62 19.2 20.0
Mensual 15 4.6 4.8
NA. 13 4.0 0.0
X..Total 323 100.0 100.0
tabla.visita %>% 
  gtsave(filename = "tabla.visita.png")

Actividad recreativa

# Tipo de vehículo
tab.act <- tab1(entrevistas$Actividad_recreativa2,
                bar.values = "percent",
                missing = FALSE,
                cex.names = 0.5,
                sort.group = "decreasing")

tabla.actividad <- as.data.frame(tab.act[[2]]) %>% 
  rownames_to_column(var = "Actividad Recreativa") %>% 
  gt()
tabla.actividad
Actividad Recreativa Frequency %(NA+) %(NA-)
Bañarse.en.la.playa 108 33.4 38.3
Pasadía 108 33.4 38.3
NA. 41 12.7 0.0
Acampar 24 7.4 8.5
Surfing 24 7.4 8.5
Otra 14 4.3 5.0
Pescar.de.orilla 4 1.2 1.4
X..Total 323 100.0 100.0
tabla.actividad %>% 
  gtsave(filename = "tabla.activi.png")

Preocupación por algún uso

# Preocupación uso
tab.preoc <- tab1(entrevistas$Preocupacion_por_algun_uso_,
                  bar.values = "percent",
                  missing = FALSE,
                  col = c("gray", "red"),
                  sort.group = "decreasing")

tabla.preocupa <- as.data.frame(tab.preoc[[2]]) %>% 
  rownames_to_column(var = "Preocupación x Uso") %>% 
  gt()
tabla.preocupa
Preocupación x Uso Frequency %(NA+) %(NA-)
No 210 65.0 65.8
Yes 109 33.7 34.2
NA. 4 1.2 0.0
X..Total 323 100.0 100.0
tabla.preocupa %>% 
  gtsave(filename = "tabla.preocupa.png")

Cual uso preocupa

# Tipo de vehículo
tab.uso <- tab1(entrevistas$que_uso_preocupa_code,
                bar.values = "percent",
                missing = FALSE,
                sort.group = "decreasing",
                cex.names = 0.7)

tabla.cualuso <- as.data.frame(tab.uso[[2]]) %>% 
  rownames_to_column(var = "Uso que Preocupa") %>% 
  gt()
tabla.cualuso
Uso que Preocupa Frequency %(NA+) %(NA-)
NA. 208 64.4 0.0
Basura 34 10.5 29.6
Inadecuados 22 6.8 19.1
Acceso 19 5.9 16.5
Conservacion_de_especies 11 3.4 9.6
Contaminacion 5 1.5 4.3
Educacion 4 1.2 3.5
Seguridad 4 1.2 3.5
Conservacion 3 0.9 2.6
Hoteles 3 0.9 2.6
Manejo 3 0.9 2.6
Contaminación 2 0.6 1.7
Venta 2 0.6 1.7
Baños 1 0.3 0.9
Crimen 1 0.3 0.9
Ruido 1 0.3 0.9
X..Total 323 100.0 100.0
tabla.cualuso%>% 
  gtsave(filename = "tabla.cualuso.png")

Conocimiento de iniciativas de manejo

# Conocimiento manejo
tab.conman <- tab1(entrevistas$Conoces_las_iniciativas_de_manejo_,
                   bar.values = "percent",
                   missing = FALSE,
                   col = c("red","gray"),
                   sort.group = "decreasing")

tabla.conoceman <- as.data.frame(tab.conman[[2]]) %>% 
  rownames_to_column(var = "Conoce de Manejo") %>% 
  gt()
tabla.conoceman
Conoce de Manejo Frequency %(NA+) %(NA-)
No 227 70.3 71.6
Yes 90 27.9 28.4
NA. 6 1.9 0.0
X..Total 323 100.0 100.0
tabla.conoceman %>% 
  gtsave(filename = "tabla.conoceman.png")

¿Qué piensa del manejo?

# Piensa del manejo
tab.piensa <- tab1(entrevistas$Que_piensan_de_esas_medidas_code,
                   bar.values = "percent",
                   missing = FALSE,
                   sort.group = "decreasing",
                   cex.names = 0.6)

tabla.piensaman <- as.data.frame(tab.piensa[[2]]) %>% 
  rownames_to_column(var = "Piensa de Manejo") %>% 
  gt()
tabla.piensaman
Piensa de Manejo Frequency %(NA+) %(NA-)
NA. 225 69.7 0.0
A.favor 92 28.5 93.9
Preocupacion 3 0.9 3.1
Desinteres 1 0.3 1.0
Mas.o.menos 1 0.3 1.0
Preocupacion.espacio 1 0.3 1.0
X..Total 323 100.0 100.0
tabla.piensaman %>% 
  gtsave(filename = "tabla.piensaman.png")

Interés en participar en actividades

# Participar
tab.int <- tab1(entrevistas$Interesas_participar_de_actividades_,
                bar.values = "percent",
                missing = FALSE,
                col = c("red","gray"),
                sort.group = "decreasing")

tabla.intact <- as.data.frame(tab.int[[2]]) %>% 
  rownames_to_column(var = "Interés Actividades") %>% 
  gt()
tabla.intact
Interés Actividades Frequency %(NA+) %(NA-)
Yes 232 71.8 72.3
No 89 27.6 27.7
NA. 2 0.6 0.0
X..Total 323 100.0 100.0
tabla.intact %>% 
  gtsave(filename = "tabla.intact.png")

Red social

# Red social
tab.redsoc <- tab1(entrevistas$Cual_es_la_red_social_que_m_s_usas_,
                   bar.values = "percent",
                   missing = FALSE,
                   cex.names = 0.7,
                   sort.group = "decreasing")

tabla.social <- as.data.frame(tab.redsoc[[2]]) %>% 
  rownames_to_column(var = "Red Social") %>% 
  gt()
tabla.social
Red Social Frequency %(NA+) %(NA-)
Facebook 173 53.6 62.0
Instagram 91 28.2 32.6
NA. 44 13.6 0.0
Whatsapp 10 3.1 3.6
Otra 3 0.9 1.1
Twitter 2 0.6 0.7
X..Total 323 100.0 100.0
tabla.social %>% 
  gtsave(filename = "tabla.social.png")

Disposición a dar donativo

# Donativo
tab.dona <- tab1(entrevistas$Dispuest__a_dar_un_donativo_futuro,
                 bar.values = "percent",
                 missing = FALSE,
                 col = c("red","gray"),
                 sort.group = "decreasing")

tabla.donativo <- as.data.frame(tab.dona[[2]]) %>% 
  rownames_to_column(var = "Dar Donativo") %>% 
  gt()
tabla.donativo
Dar Donativo Frequency %(NA+) %(NA-)
Yes 274 84.8 89.5
No 32 9.9 10.5
NA. 17 5.3 0.0
X..Total 323 100.0 100.0
tabla.donativo %>% 
  gtsave(filename = "tabla.donativo.png")

Prueba de bondad de ajuste para la cantidad de personas

Esta prueba nos indica si la distribución de personas por vehículo es un proceso aleatorio, tipo Poisson, o si hay una cantidad de personas por vehículo que es preferida.

Bondad de ajuste a Poisson de la cantidad de personas por vehículo

Necesitamos conocer el parámetro \(\lambda\) de la distribución de Poisson, este lo calculamos como la cantidad de personas entre la cantidad de encuestas (i. e. vehículos).

# datos y lambda
f_observadas <- c(28, 138, 71, 41, 20, 6)
personas <- c(1, 2, 3, 4, 5, 6)
lambda <- sum(f_observadas * personas)/sum(f_observadas)
# frecuencias esperadas (Poisson)
n_personas <- c("1", "2", "3", "4", "5", "6 o más")
f_esperadas <- (dpois(1:6, lambda = lambda))*sum(f_observadas)
# tabla de resultados
bondad_poisson <- data.frame(n_personas, f_observadas, f_esperadas)
bondad_poisson <- setNames(bondad_poisson, c("personas/vehículo", "frec. observada", "frec. esperada"))
gt(bondad_poisson)
personas/vehículo frec. observada frec. esperada
1 28 55.59755
2 138 74.70920
3 71 66.92700
4 41 44.96658
5 20 24.16953
6 o más 6 10.82594
# prueba de bondad de ajuste
chisq.test(f_observadas, p=f_esperadas, rescale.p = TRUE, correct = TRUE)
## 
##  Chi-squared test for given probabilities
## 
## data:  f_observadas
## X-squared = 62.18, df = 5, p-value = 4.303e-12

La prueba estadística de bondad de ajuste, usando \(\chi^2\), indica que se puede rechazar la hipótesis nula de ajuste a una distribución de Poisson (aleatoria) de los datos de personas por vehículo, siendo especialmente notable la discrepancia en la alta frecuencia observada de dos personas por vehículo.

Prueba de asociación

La prueba de asociación nos permite determinar si dos variables categóricas son independientes en su distribución de frecuencias o están asociadas de alguna manera. Usamos el estadístico \(\chi^2\) para la prueba.

Frecuencia de visitas y Región de origen

library(dplyr)
# datos completos
visitasXregion <- chisq.test(entrevistas$Region_origen, entrevistas$Frecuencia_de_visita)
visitasXregion$observed
##                          
## entrevistas$Region_origen Mensual Primera visita Varias veces al año
##                   Centro        1              6                   3
##                   EEUU          0              5                   2
##                   Este          4             29                  12
##                   Metro         4             64                  27
##                   Noreste       3             25                  13
##                   Norte         3             15                   4
##                   Oeste         0              1                   0
##                   Sur           0              2                   0
##                   Sureste       0              1                   0
##                          
## entrevistas$Region_origen Varias veces al mes
##                   Centro                    2
##                   EEUU                      1
##                   Este                      7
##                   Metro                    25
##                   Noreste                  44
##                   Norte                     4
##                   Oeste                     0
##                   Sur                       1
##                   Sureste                   0
visitasXregion$expected
##                          
## entrevistas$Region_origen   Mensual Primera visita Varias veces al año
##                   Centro  0.5844156      5.7662338           2.3766234
##                   EEUU    0.3896104      3.8441558           1.5844156
##                   Este    2.5324675     24.9870130          10.2987013
##                   Metro   5.8441558     57.6623377          23.7662338
##                   Noreste 4.1396104     40.8441558          16.8344156
##                   Norte   1.2662338     12.4935065           5.1493506
##                   Oeste   0.0487013      0.4805195           0.1980519
##                   Sur     0.1461039      1.4415584           0.5941558
##                   Sureste 0.0487013      0.4805195           0.1980519
##                          
## entrevistas$Region_origen Varias veces al mes
##                   Centro            3.2727273
##                   EEUU              2.1818182
##                   Este             14.1818182
##                   Metro            32.7272727
##                   Noreste          23.1818182
##                   Norte             7.0909091
##                   Oeste             0.2727273
##                   Sur               0.8181818
##                   Sureste           0.2727273
visitasXregion
## 
##  Pearson's Chi-squared test
## 
## data:  entrevistas$Region_origen and entrevistas$Frecuencia_de_visita
## X-squared = 45.074, df = 24, p-value = 0.005708
# selección de regiones
visitas_region <- data.frame(entrevistas$Region_origen, entrevistas$Frecuencia_de_visita)
filtrado_region <- visitas_region %>% 
  filter(entrevistas.Region_origen == "Centro" | 
           entrevistas.Region_origen == "Este" |
           entrevistas.Region_origen == "Metro" |
           entrevistas.Region_origen == "Noreste" |
           entrevistas.Region_origen == "Norte")
visitasXregion_filtro <- chisq.test(filtrado_region$entrevistas.Region_origen,
                                    filtrado_region$entrevistas.Frecuencia_de_visita)
visitasXregion_filtro$observed
##          
##           Mensual Primera visita Varias veces al año Varias veces al mes
##   Centro        1              6                   3                   2
##   Este          4             29                  12                   7
##   Metro         4             64                  27                  25
##   Noreste       3             25                  13                  44
##   Norte         3             15                   4                   4
visitasXregion_filtro$expected
##          
##             Mensual Primera visita Varias veces al año Varias veces al mes
##   Centro  0.6101695       5.654237                 2.4            3.335593
##   Este    2.6440678      24.501695                10.4           14.454237
##   Metro   6.1016949      56.542373                24.0           33.355932
##   Noreste 4.3220339      40.050847                17.0           23.627119
##   Norte   1.3220339      12.250847                 5.2            7.227119
visitasXregion_filtro
## 
##  Pearson's Chi-squared test
## 
## data:  filtrado_region$entrevistas.Region_origen and filtrado_region$entrevistas.Frecuencia_de_visita
## X-squared = 39.775, df = 12, p-value = 7.835e-05
# grafica de mosaico
library(vcd)
mosaic(~ entrevistas.Frecuencia_de_visita + entrevistas.Region_origen,
       direction = c("v", "h"),
       data = filtrado_region,
       set_labels=list(entrevistas.Frecuencia_de_visita = c("Mensual", "Primera", "VV año", "VV mes")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(entrevistas.Region_origen = "Región", 
                                                entrevistas.Frecuencia_de_visita = "Frecuencia Visita")),
       shade = TRUE)

Conocimiento de iniciativas de manejo por región

Usamos las regiones con frecuencias mayores de 0.

# selección de regiones
manejo_region <- data.frame(entrevistas$Region_origen, entrevistas$Conoces_las_iniciativas_de_manejo_)
filtrado2_region <- manejo_region %>% 
  filter(entrevistas.Region_origen == "Centro" | 
           entrevistas.Region_origen == "Este" |
           entrevistas.Region_origen == "Metro" |
           entrevistas.Region_origen == "Noreste" |
           entrevistas.Region_origen == "Norte")
manejoXregion_filtro <- chisq.test(filtrado2_region$entrevistas.Region_origen,                            filtrado2_region$entrevistas.Conoces_las_iniciativas_de_manejo_)
## Warning in chisq.test(filtrado2_region$entrevistas.Region_origen,
## filtrado2_region$entrevistas.Conoces_las_iniciativas_de_manejo_): Chi-squared
## approximation may be incorrect
manejoXregion_filtro$observed
##          
##           No Yes
##   Centro   9   3
##   Este    40  11
##   Metro   85  34
##   Noreste 54  31
##   Norte   17   8
manejoXregion_filtro$expected
##          
##                  No       Yes
##   Centro   8.424658  3.575342
##   Este    35.804795 15.195205
##   Metro   83.544521 35.455479
##   Noreste 59.674658 25.325342
##   Norte   17.551370  7.448630
manejoXregion_filtro
## 
##  Pearson's Chi-squared test
## 
## data:  filtrado2_region$entrevistas.Region_origen and filtrado2_region$entrevistas.Conoces_las_iniciativas_de_manejo_
## X-squared = 3.7361, df = 4, p-value = 0.4429
# grafica de mosaico
library(vcd)
mosaic(~ entrevistas.Conoces_las_iniciativas_de_manejo_ + entrevistas.Region_origen,
       direction = c("v", "h"),
       data = filtrado2_region,
       set_labels=list(entrevistas.Conoces_las_iniciativas_de_manejo_ = c("No", "Si")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(entrevistas.Region_origen = "Región",                                               entrevistas.Conoces_las_iniciativas_de_manejo_ = "Conoce Iniciativas de Manejo")),
       shade = TRUE)

Preocupación por usos y región de origen

# selección de regiones
preocupa_region <- data.frame(entrevistas$Region_origen, entrevistas$Preocupacion_por_algun_uso_)
filtrado5_region <- preocupa_region %>% 
  filter(entrevistas.Region_origen == "Centro" | 
           entrevistas.Region_origen == "Este" |
           entrevistas.Region_origen == "Metro" |
           entrevistas.Region_origen == "Noreste" |
           entrevistas.Region_origen == "Norte")
preocupaXregion_filtro <- chisq.test(filtrado5_region$entrevistas.Region_origen,                            filtrado5_region$entrevistas.Preocupacion_por_algun_uso_)
## Warning in chisq.test(filtrado5_region$entrevistas.Region_origen,
## filtrado5_region$entrevistas.Preocupacion_por_algun_uso_): Chi-squared
## approximation may be incorrect
preocupaXregion_filtro$observed
##          
##           No Yes
##   Centro   7   5
##   Este    35  17
##   Metro   81  38
##   Noreste 51  36
##   Norte   14  10
preocupaXregion_filtro$expected
##          
##                  No       Yes
##   Centro   7.673469  4.326531
##   Este    33.251701 18.748299
##   Metro   76.095238 42.904762
##   Noreste 55.632653 31.367347
##   Norte   15.346939  8.653061
preocupaXregion_filtro
## 
##  Pearson's Chi-squared test
## 
## data:  filtrado5_region$entrevistas.Region_origen and filtrado5_region$entrevistas.Preocupacion_por_algun_uso_
## X-squared = 2.6936, df = 4, p-value = 0.6103
# grafica de mosaico
library(vcd)
mosaic(~ entrevistas.Preocupacion_por_algun_uso_ + entrevistas.Region_origen,
       direction = c("v", "h"),
       data = filtrado5_region,
       set_labels=list(entrevistas.Preocupacion_por_algun_uso_ = c("No", "Si")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(entrevistas.Region_origen = "Región",                                               entrevistas.Preocupacion_por_algun_uso_ = "Preocupación por uso")),
       shade = TRUE)

Tipo de vehículo y región de origen

# selección de regiones
vehiculo_region <- data.frame(entrevistas$Region_origen, entrevistas$Tipo_de_vehiculo)
filtrado3_region <-vehiculo_region %>% 
  filter(entrevistas.Region_origen == "Centro" | 
           entrevistas.Region_origen == "Este" |
           entrevistas.Region_origen == "Metro" |
           entrevistas.Region_origen == "Noreste" |
           entrevistas.Region_origen == "Norte")
vehiculoXregion_filtro <- chisq.test(filtrado3_region$entrevistas.Region_origen,                            filtrado3_region$entrevistas.Tipo_de_vehiculo)
## Warning in chisq.test(filtrado3_region$entrevistas.Region_origen,
## filtrado3_region$entrevistas.Tipo_de_vehiculo): Chi-squared approximation may be
## incorrect
vehiculoXregion_filtro$observed
##          
##           Jeep Wrangler Otro Pick-up SUV
##   Centro              1    2       1   4
##   Este                6    9       6  18
##   Metro              13   26      22  40
##   Noreste            10    8      19  26
##   Norte               5    2       6   6
vehiculoXregion_filtro$expected
##          
##           Jeep Wrangler      Otro   Pick-up       SUV
##   Centro       1.217391  1.634783  1.878261  3.269565
##   Este         5.934783  7.969565  9.156522 15.939130
##   Metro       15.369565 20.639130 23.713043 41.278261
##   Noreste      9.586957 12.873913 14.791304 25.747826
##   Norte        2.891304  3.882609  4.460870  7.765217
vehiculoXregion_filtro
## 
##  Pearson's Chi-squared test
## 
## data:  filtrado3_region$entrevistas.Region_origen and filtrado3_region$entrevistas.Tipo_de_vehiculo
## X-squared = 10.55, df = 12, p-value = 0.5678
# grafica de mosaico
library(vcd)
mosaic(~ entrevistas.Tipo_de_vehiculo + entrevistas.Region_origen,
       direction = c("v", "h"),
       data = filtrado3_region,
       set_labels=list(entrevistas.Tipo_de_vehiculo = c("Jeep Wr", "Otro", "Pick-up", "SUV")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(entrevistas.Region_origen = "Región",                                               entrevistas.Tipo_de_vehiculo = "Tipo de Vehículo")),
       shade = TRUE)

Actividad recreativa y región de origen

# selección de regiones
actividad_region <- data.frame(entrevistas$Region_origen, entrevistas$Actividad_recreativa2)
filtrado4_region <-actividad_region %>% 
  filter(entrevistas.Region_origen == "Centro" | 
           entrevistas.Region_origen == "Este" |
           entrevistas.Region_origen == "Metro" |
           entrevistas.Region_origen == "Noreste" |
           entrevistas.Region_origen == "Norte")
actividadXregion_filtro <- chisq.test(filtrado4_region$entrevistas.Region_origen,                            filtrado4_region$entrevistas.Actividad_recreativa2)
## Warning in chisq.test(filtrado4_region$entrevistas.Region_origen,
## filtrado4_region$entrevistas.Actividad_recreativa2): Chi-squared approximation
## may be incorrect
actividadXregion_filtro$observed
##          
##           Acampar Bañarse en la playa Otra Pasadía Pescar de orilla Surfing
##   Centro        0                   6    0       5                0       0
##   Este          3                  22    2      20                0       2
##   Metro         7                  46    5      37                1      12
##   Noreste      12                  17    6      33                3       7
##   Norte         2                   8    1      10                0       1
actividadXregion_filtro$expected
##          
##             Acampar Bañarse en la playa      Otra   Pasadía Pescar de orilla
##   Centro  0.9850746            4.063433 0.5746269  4.309701        0.1641791
##   Este    4.3880597           18.100746 2.5597015 19.197761        0.7313433
##   Metro   9.6716418           39.895522 5.6417910 42.313433        1.6119403
##   Noreste 6.9850746           28.813433 4.0746269 30.559701        1.1641791
##   Norte   1.9701493            8.126866 1.1492537  8.619403        0.3283582
##          
##             Surfing
##   Centro  0.9029851
##   Este    4.0223881
##   Metro   8.8656716
##   Noreste 6.4029851
##   Norte   1.8059701
actividadXregion_filtro
## 
##  Pearson's Chi-squared test
## 
## data:  filtrado4_region$entrevistas.Region_origen and filtrado4_region$entrevistas.Actividad_recreativa2
## X-squared = 24.026, df = 20, p-value = 0.2412
# grafica de mosaico
library(vcd)
mosaic(~ entrevistas.Actividad_recreativa2 + entrevistas.Region_origen,
       direction = c("v", "h"),
       data = filtrado4_region,
       set_labels=list(entrevistas.Tipo_de_vehiculo = c("Acampar", "Bañarse playa", "Otra", "Pasadía", "Pescar orilla", "Surfing")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(entrevistas.Region_origen = "Región",                                               entrevistas.Actividad_recreativa2 = "Actividad Recreativa")),
       shade = TRUE)

Preocupación por usos y frecuencia de visitas

Prueba de independencia (\(H_O\)) o asociación (\(H_a\)).

# datos completos
visitasXpreocupacion <- chisq.test(entrevistas$Preocupacion_por_algun_uso_, entrevistas$Frecuencia_de_visita)
visitasXpreocupacion$observed
##      
##       Mensual Primera visita Varias veces al año Varias veces al mes
##   No        9            107                  38                  44
##   Yes       6             38                  23                  41
visitasXpreocupacion$expected
##      
##        Mensual Primera visita Varias veces al año Varias veces al mes
##   No  9.705882       93.82353            39.47059                  55
##   Yes 5.294118       51.17647            21.52941                  30
visitasXpreocupacion
## 
##  Pearson's Chi-squared test
## 
## data:  entrevistas$Preocupacion_por_algun_uso_ and entrevistas$Frecuencia_de_visita
## X-squared = 11.777, df = 3, p-value = 0.008187
# grafica de mosaico
library(vcd)
mosaic(~ Frecuencia_de_visita + Preocupacion_por_algun_uso_,
       direction = c("v", "h"),
       data = entrevistas,
       set_labels=list(Frecuencia_de_visita = c("Mensual", "Primera", "VV año", "VV mes")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(Preocupacion_por_algun_uso_ = "Preocupación", 
                                                Frecuencia_de_visita = "Frecuencia Visita")),
       shade = TRUE)

Actividad recreativa y frecuencia de visita

# datos completos
actividadXpreocupacion <- chisq.test(entrevistas$Actividad_recreativa2, entrevistas$Frecuencia_de_visita)
## Warning in chisq.test(entrevistas$Actividad_recreativa2,
## entrevistas$Frecuencia_de_visita): Chi-squared approximation may be incorrect
actividadXpreocupacion$observed
##                      
##                       Mensual Primera visita Varias veces al año
##   Acampar                   1              7                   9
##   Bañarse en la playa       3             51                  22
##   Otra                      1              7                   1
##   Pasadía                   8             58                  19
##   Pescar de orilla          0              1                   1
##   Surfing                   2              4                   4
##                      
##                       Varias veces al mes
##   Acampar                               7
##   Bañarse en la playa                  32
##   Otra                                  5
##   Pasadía                              21
##   Pescar de orilla                      2
##   Surfing                              14
actividadXpreocupacion$expected
##                      
##                         Mensual Primera visita Varias veces al año
##   Acampar             1.2857143      10.971429                 4.8
##   Bañarse en la playa 5.7857143      49.371429                21.6
##   Otra                0.7500000       6.400000                 2.8
##   Pasadía             5.6785714      48.457143                21.2
##   Pescar de orilla    0.2142857       1.828571                 0.8
##   Surfing             1.2857143      10.971429                 4.8
##                      
##                       Varias veces al mes
##   Acampar                        6.942857
##   Bañarse en la playa           31.242857
##   Otra                           4.050000
##   Pasadía                       30.664286
##   Pescar de orilla               1.157143
##   Surfing                        6.942857
actividadXpreocupacion
## 
##  Pearson's Chi-squared test
## 
## data:  entrevistas$Actividad_recreativa2 and entrevistas$Frecuencia_de_visita
## X-squared = 27.606, df = 15, p-value = 0.02417
# grafica de mosaico
library(vcd)
mosaic(~ Frecuencia_de_visita + Actividad_recreativa2,
       direction = c("v", "h"),
       data = entrevistas,
       set_labels=list(Frecuencia_de_visita = c("Mensual", "Primera", "VV año", "VV mes"),
                       Actividad_recreativa2 = c("Acampar", "Bañarse", "Otra", "Pasadía", "Pesca", "Surfing")),
       gp_varnames = gpar(fontsize = 12, fontface = 1),
       gp_labels = gpar(fontsize = 8),
       labeling_args = list(set_varnames = list(Actividad_recreativa2 = "Actividad Recreativa",Frecuencia_de_visita = "Frecuencia Visita")),
       shade = TRUE)

Regresión logística

Mediante una regresión logística podemos probar el efecto de variables continuas, discretas o binarias, en una variable binaria.

Determinantes de disposición a dar donativo

# convertir a 0 o 1
donativo <- entrevistas %>% 
  mutate(donar = ifelse(Dispuest__a_dar_un_donativo_futuro == "Yes",1,0))
# modelo
donativo_log <- glm(donar ~
                  Preocupacion_por_algun_uso_ + 
                  Conoces_las_iniciativas_de_manejo_ + 
                  Interesas_participar_de_actividades_ +
                  frec_vis_code,
                data = donativo,
                family=binomial())
summary(donativo_log)
## 
## Call:
## glm(formula = donar ~ Preocupacion_por_algun_uso_ + Conoces_las_iniciativas_de_manejo_ + 
##     Interesas_participar_de_actividades_ + frec_vis_code, family = binomial(), 
##     data = donativo)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.7401   0.2294   0.2414   0.2497   0.7044  
## 
## Coefficients:
##                                         Estimate Std. Error z value Pr(>|z|)
## (Intercept)                              1.24440    0.47460   2.622  0.00874
## Preocupacion_por_algun_uso_Yes           0.14901    0.57128   0.261  0.79422
## Conoces_las_iniciativas_de_manejo_Yes    0.05968    0.56673   0.105  0.91614
## Interesas_participar_de_actividades_Yes  2.18465    0.51321   4.257 2.07e-05
## frec_vis_code                            0.02312    0.19646   0.118  0.90630
##                                            
## (Intercept)                             ** 
## Preocupacion_por_algun_uso_Yes             
## Conoces_las_iniciativas_de_manejo_Yes      
## Interesas_participar_de_actividades_Yes ***
## frec_vis_code                              
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 150.25  on 286  degrees of freedom
## Residual deviance: 128.34  on 282  degrees of freedom
##   (36 observations deleted due to missingness)
## AIC: 138.34
## 
## Number of Fisher Scoring iterations: 6
# convertir a OR
exp(cbind(OR = coef(donativo_log), confint(donativo_log)))
##                                               OR     2.5 %    97.5 %
## (Intercept)                             3.470845 1.4045137  9.162746
## Preocupacion_por_algun_uso_Yes          1.160685 0.3964475  3.890590
## Conoces_las_iniciativas_de_manejo_Yes   1.061494 0.3665621  3.533274
## Interesas_participar_de_actividades_Yes 8.887573 3.3943447 26.238614
## frec_vis_code                           1.023393 0.7030328  1.533678

Determinante de preocupación por uso

Probamos si la frecuencia de visita es un determinante de la preocupación por el uso.
Codificación de la frecuencia de visita para el análisis:

  • Primera visita = 1
  • Varias veces al año = 2
  • Mensual = 3
  • Varias veces al mes = 4
# convertir a 0 o 1
preocupa <- entrevistas %>% 
  mutate(preocu = ifelse(Preocupacion_por_algun_uso_ == "Yes",1,0))
# modelo
preocupa_log <- glm(preocu ~ frec_vis_code + Conoces_las_iniciativas_de_manejo_,
                data = preocupa,
                family=binomial())
summary(preocupa_log)
## 
## Call:
## glm(formula = preocu ~ frec_vis_code + Conoces_las_iniciativas_de_manejo_, 
##     family = binomial(), data = preocupa)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.2082  -0.8714  -0.7723   1.2650   1.6464  
## 
## Coefficients:
##                                       Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                           -1.34162    0.25261  -5.311 1.09e-07 ***
## frec_vis_code                          0.28449    0.09617   2.958  0.00309 ** 
## Conoces_las_iniciativas_de_manejo_Yes  0.27588    0.26660   1.035  0.30075    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 391.04  on 302  degrees of freedom
## Residual deviance: 379.92  on 300  degrees of freedom
##   (20 observations deleted due to missingness)
## AIC: 385.92
## 
## Number of Fisher Scoring iterations: 4
# convertir a OR
exp(cbind(OR = coef(preocupa_log), confint(preocupa_log)))
##                                              OR     2.5 %    97.5 %
## (Intercept)                           0.2614206 0.1575249 0.4248761
## frec_vis_code                         1.3290894 1.1012944 1.6067166
## Conoces_las_iniciativas_de_manejo_Yes 1.3176897 0.7779487 2.2170811
# gráfica
library(ggplot2)
#gráfica con curva logística
ggplot(preocupa, aes(x=frec_vis_code, y=preocu,
                                 na.rm = TRUE)) +
  geom_point() +
  geom_smooth(method = "glm", 
    method.args = list(family = "binomial"), 
    se = TRUE)

Análisis Textual

Palabras en respuesta sobre preocupación por algún uso de la reserva

Creación del texto - paquetes necesarios - función de worlcloud

# creación del texto (corpus)
texto <- paste(unlist(entrevistas$Cual_uso_te_preocupa_), collapse =" ")
texto
## [1] "Que se habra al publico y lo contaminen. El area de las picuas esta contaminado y no respetan las reglas, desde que lo arreglaron. Lo mismo en coco beach. Ej meten carros de golf , hacen fogatas, etc. Se crio en la reserva en manati NA Si eventualmente cierran el borton como funcionaria eso. (Acceso) Que se le de uso adecuado cuanto a la basura y a los recursos naturales disponibles Tener aqui alguien por si pasa algo. We need to do more education. Too much people NA No NA NA No Que viene gente de afuera a dañar los caminos. Los 4x4 destrozaban el area antes. No NA NA NA Maintain Corridar Acesible NA NA 4x4, 4-track NA Limpieza, danos No NA NA No NA NA No No No Se llena mucho. No NA Que no tiren basura NA Controlar el acceso por que vino recientemente y estaba demasiado de lleno. La basura Que no contaminen El uso de fourtracks y todo terreno. El consumo desmedido de alcohol y comida. \r\n\r\nTambién que al principio que arreglaron el camino no se veía mucho manejo pero hoy está diferente. No Me preocupa que la gente deje basura. Yo siempre me llevo mi basura. Playa que tu visitas tienes que llevarte la basura No NA Uso del four track NA No NA NA NA Que no se estacionen en la orilla ni en el medio No quiero que nadie lo haga. Que estén tumbando coco sin ningun beneficio. Que se pongan a coger los jueyes para explotarlos. No quiero eso. Como quien dice que no los dejan criar. Deberían prohibir que los cocoas los tunben en luna nueva porque la mata se daña para siempre No NA NA NA NA NA NA NA NA NA NA NA NA No.pero Vio 4 track dia anterior cerca de la playa Que la destruyan. Quiere que la cuiden y no dejen basura. Se necesitan zafacones/ depositos de derechos para proteger el area NA No la venden. NA NA Seguridad Ciuda visitantes 4x4, basura Limpieza, bolsas 4x4 El cuidado de los tinglares.\r\n\r\nLimpieza del salgazo. Terminar de arreglar el camino. Hay personas que estan arranxando las estacas de los anidajes. NA Recogido de basura. Por el momento ninguna Basura El uso de las motoras, minizarlos. Que haya más seguridad. Que haya más áreas de camping. No conoce Que no dejen pasar a los carros de gomas grabdes porque dañan el camino. Dijo que no Otras personas lo dañen con sus actitudes y comportamiento. NA Con el arreglo de la vía ahora entran más personas y a la larga hay que hacer algo para conservar los anidajes y la protección a largo plazo de la Reserva. (Mas enfocado en la area en general)Animales sueltos y calle. No se le da cuido al area. Basura, NA NA No NA NA No tiene Ninguno El problema de la basura, ruido de la música, demasiada aglomeración en un espacio especial como este. Esto no todo el mundo lo conocía. NA Voceteo NA Mano la basura. La rapidez de los carros vimos un choque. La gente no cuida nada y ahora can a emtrar mad Que dejen basura y no se la lleven Desarrollar algo que no convenga, que lo destruya. NA NA NA NA Nidaje de tortuga, problema de musica alta, basura, no hay respeto de los anidajes. NA NA Motoras La basura que dejan. NA Motoras, control* NA No No conoce. NA NA NA Basura, Voceteo NA No NA Que se preserve NA Quiero que cierren esto y lo pongan como antes. Dejan mucha basura. Es mejor que lo cierren y caminen. Solo dejar el estacionamiento. Basura, arecifes , las areas verdes, turistas(no informados). No hay zafacones no hay bolsas de Basura, no hay alguien vigilando en los camping sites, y exceso de personas(adentro) y pezca ilegal NA NA NA NA NA Personas que dejan la basura. NA NA NA Basura Basura, no hay mucho control, mientras mas arreglan mas basura y menos control NA Es la primera vez que vengo. Que no la privatizen(reserva) NA NA NA NA NA Entra entreba los vehiculos 4x4 y ellos recogian su basura y los que entran ahora no son responsables. Antes el trafico era menos. Se han tenido que llevar Dañen los tinglares y el mangle. NA La estan ensuciando desde que la abrieron. Cuando tenia llave era mejor. NA Personas que hagan daño al ecosistema. Problemas de basura 4tracks motoras NA NA NA NA NA NA NA NA Que no la mantengan limpia. Desde que arreglaron el camino viene mucha gente de aguera y dejan mucha basura. Al abrir el camino entra más personas. NA Llevan años viniendo y dicen que lo dañaron al arreglar el camino por que sr meten y dejan basura. Era mejor antes que no podia entrar mucha gente y dejan basura. No hay consideracion de parte de los no locales. No permiten perros. 4track metiendose en la arena Quema de basura y la deja tambien NA NA Probelmas de basura y los anidajes de tortugas. NA NA Desperdicios El camino se esta dañando los los fourtracksc motoras, autos 4x4. Dan vueltas en la rotonda. Que se dañe la vida natural. Tortugas/aves. bano portatil NA NA NA NA NA NA Tortuga Que no se hagan hoteles Camino, aniliavar el terreno y cada nido los tinglar tenga un avisa para preocupacion Que no vayan a venderlo para hotel. Flujo alto de personas NA - Que se mantenga como reserva NA NA NA N/A — priemra visita Ahora que todo puede visitar Contaminacion No NA NA NA NA No Gente que roba. NA Que las cuiden las areas y recojan la basura NA NA La entrada de carros que se “estanquen” NA NA La nueva carretera taije mas basura NA Arregalra N/A Primera visita NA Que las personas la mantengan limpia y regulacion de la musica. No hay contenedor de basura afuera. Seguridad NA N/A NA NA NA NA Daño a los nidos de tinglar. NA Va a entrar otra gente y mas basura y hay mas perosna mas dentro de playa. NA NA NA El camino NA NA NA NA NA NA Transito vehicual, que afecten la vida marina. El manejo de la basura. NA NA Nos preocupa la mejora de la carretera ya que traje mas basura NA NA NA NA NA No NA NA N/A Si  la basura  , la gente son puercas y destructivas No NA No, despues que la gente no ensucie no hay problema. NA Preocupadosbde basura y trastera NA Si, el mal uso de los fourtrack. NA NA Una caseta para no contaminar adentro. NA NA Si NA Si  que dejen basura y ensucien el area NA NA Si  que dejen basura y trasteo NA Que no construyan hoteles. Que dejen basura y dañen el area La seguridad Que lo cuiden como eeserva natural y no dessarrollo NA NA NA NA Realmente no tienen preocupación Ninguno Si que ensucien el area NA NA Entra mucha gente y ya no hay tanto espacio Si que la dañen y ensucien por falta de consiencia Segunda vez que visita, no tiene preocupación No tienen preocupación Si que vayan a ensuciar el area y trastearla Muchos carros adentro NA NA NA NA NA No tienen preocupaciones Persobas no reaponsables que puedan entrar. Hay gente queentra y son responsables y hay otros que no. Cuido del tiempo de anidaje. Realmente no tienen preocupciones NA NA Manejo de contaminacion Al abrir el camino entra más público. NA Me gustaria que las personas de aqui utilicen los recursos de manera saludable. NA Que se vaya a dañar con las motoras. Se vurlva demasiada accesible y lo dañen. NA NA Que terminen de arreglar el camino. No hay zafacones y que el acceso este controlado por no tener vigilancia. NA NA NA NA No tienen preocupción NA Que se quede resrva y no construyan hotel. NA NA"
# paquetes necesarios
library(tm)
library(SnowballC)
library(wordcloud)
library(RColorBrewer)
library(RCurl)
library(XML)
library(rsconnect)
# función de wordcloud
rquery.wordcloud <- function(x, type=c("text", "url", "file"), 
                             lang="english", excludeWords=NULL, 
                             textStemming=FALSE, colorPalette="Dark2",
                             min.freq=3, max.words=200)
{ 
  library("tm")
  library("SnowballC")
  library("wordcloud")
  library("RColorBrewer") 
  
  if(type[1]=="file") text <- readLines(x)
  else if(type[1]=="url") text <- html_to_text(x)
  else if(type[1]=="text") text <- x
  
  # Load the text as a corpus
  docs <- Corpus(VectorSource(text))
  # Convert the text to lower case
  docs <- tm_map(docs, content_transformer(tolower))
  # Remove numbers
  docs <- tm_map(docs, removeNumbers)
  # Remove stopwords for the language 
  docs <- tm_map(docs, removeWords, stopwords(lang))
  # Remove punctuations
  docs <- tm_map(docs, removePunctuation)
  # Eliminate extra white spaces
  docs <- tm_map(docs, stripWhitespace)
  # Remove your own stopwords
  if(!is.null(excludeWords)) 
    docs <- tm_map(docs, removeWords, excludeWords) 
  # Text stemming
  if(textStemming) docs <- tm_map(docs, stemDocument)
  # Create term-document matrix
  tdm <- TermDocumentMatrix(docs)
  m <- as.matrix(tdm)
  v <- sort(rowSums(m),decreasing=TRUE)
  d <- data.frame(word = names(v),freq=v)
  # check the color palette name 
  if(!colorPalette %in% rownames(brewer.pal.info)) colors = colorPalette
  else colors = brewer.pal(8, colorPalette) 
  # Plot the word cloud
  set.seed(1234)
  wordcloud(d$word,d$freq, min.freq=min.freq, max.words=max.words,
            random.order=FALSE, rot.per=0.35, 
            use.r.layout=FALSE, colors=colors)
  
  invisible(list(tdm=tdm, freqTable = d))
}
# html_to_text function
html_to_text<-function(url){
  library(RCurl)
  library(XML)
  # download html
  html.doc <- getURL(url)  
  #convert to plain text
  doc = htmlParse(html.doc, asText=TRUE)
  # "//text()" returns all text outside of HTML tags.
  # We also don’t want text such as style and script codes
  text <- xpathSApply(doc, "//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)][not(ancestor::form)]", xmlValue)
  # Format text vector into one character string
  return(paste(text, collapse = " "))
}

Worldcloud de “Cuál uso le preocupa” y gráfica de barras de frecuencias

# nube de palabra de variable Cual uso le preocupa
res <- rquery.wordcloud(texto, type ="text",
                        lang = "spanish",
                        #excludeWords = c("preocupación", "ahora", "vez"),
                        textStemming = FALSE,
                        colorPalette = "Dark2",
                        min.freq = 2,
                        max.words = 600)

# estadísticas
# tabla de frecuencias (primeras 10 más frecuentes)
TablaFrecuencia <- res$freqTable
head(TablaFrecuencia, 20)
##                word freq
## basura       basura   42
## camino       camino   11
## gente         gente   11
## area           area    9
## personas   personas    9
## mas             mas    8
## dejan         dejan    7
## dejen         dejen    6
## motoras     motoras    6
## carros       carros    5
## dañen         dañen    5
## mucha         mucha    5
## uso             uso    5
## ahora         ahora    4
## anidajes   anidajes    4
## entra         entra    4
## seguridad seguridad    4
## track         track    4
## acceso       acceso    3
## arreglar   arreglar    3
# gráfica de frecuencias (primeras 10 palabras)
barplot(TablaFrecuencia[1:20,]$freq, las = 2, 
        names.arg = TablaFrecuencia[1:20,]$word,
        col ="lightblue", main ="Palabras más frecuentes",
        ylab = "Frecuencia")