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 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)
