Aplicar las técnicas de análisis estadísticos descriptivos y estimadores, empleando los gráficos necesarios destacar la información de interés sobre un conjunto de datos y sobre las relaciones que guardan entre sí, con la ayuda de software estadístico.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(ggplot2)
turismo <- read.csv("/Users/araquezada/Documents/Tec/7mo Semestre/Analítica para Negocios/Modulo 3/Base de Datos Turismo Responsable 2.csv")
Debido a la gran cantidad de variables que existen, nosotros nos enfocaremos solo en aquellas que están enfocadas a aportar información directamente relacionada con la encuesta, desechando:
“StartDate, EndDate, Status, IPAddress, Progress, Duration, (in seconds), Finished, RecordedDate, ResponseId, RecipientLastName, RecipientFirstName, RecipientEmail, ExternalReference, LocationLatitude, LocationLongitude, DistributionChannel, y UserLanguage”. Las variables usadas serán fácilmente indentificadas debido a que todas empiezan con Q.
str(turismo)
## 'data.frame': 935 obs. of 59 variables:
## $ StartDate : chr "05/03/20 8:54" "05/03/20 9:03" "05/03/20 9:02" "05/03/20 8:55" ...
## $ EndDate : chr "05/03/20 9:01" "05/03/20 9:05" "05/03/20 9:06" "05/03/20 9:10" ...
## $ Status : int 0 0 0 0 0 0 0 0 0 0 ...
## $ IPAddress : chr "131.178.54.55" "131.178.200.66" "200.95.170.77" "131.178.54.69" ...
## $ Progress : int 100 100 100 100 100 100 100 100 100 100 ...
## $ Duration..in.seconds.: int 477 115 257 916 255 163 500 447 4236 488 ...
## $ Finished : int 1 1 1 1 1 1 1 1 1 1 ...
## $ RecordedDate : chr "05/03/20 9:01" "05/03/20 9:05" "05/03/20 9:06" "05/03/20 9:10" ...
## $ ResponseId : chr "R_1HNq2eWcYHIucIF" "R_3GlhbBuuVXrn7Wa" "R_27Nh8d4iF86rUuK" "R_uf5wi6KfNeBnmal" ...
## $ RecipientLastName : logi NA NA NA NA NA NA ...
## $ RecipientFirstName : logi NA NA NA NA NA NA ...
## $ RecipientEmail : logi NA NA NA NA NA NA ...
## $ ExternalReference : logi NA NA NA NA NA NA ...
## $ LocationLatitude : num 25.7 25.6 25.7 25.6 25.8 ...
## $ LocationLongitude : num -100 -100 -100 -100 -100 ...
## $ DistributionChannel : chr "anonymous" "anonymous" "anonymous" "anonymous" ...
## $ UserLanguage : chr "EN" "EN" "EN" "EN" ...
## $ Q2 : int 1 1 1 1 1 1 2 1 1 2 ...
## $ Q3_1 : int 1 1 1 NA 1 1 2 2 2 1 ...
## $ Q3_2 : int 2 2 2 NA 3 2 1 3 3 2 ...
## $ Q3_3 : int 3 3 3 NA 2 3 3 1 1 3 ...
## $ Q4_1 : int 1 1 1 NA 1 1 1 1 NA 1 ...
## $ Q4_2 : int NA 1 1 1 1 1 NA 1 1 1 ...
## $ Q4_3 : int 1 1 1 1 1 1 1 1 NA 1 ...
## $ Q4_4 : int NA 1 NA 1 1 1 1 NA NA NA ...
## $ Q4_5 : int NA 1 NA 1 NA NA 1 NA NA NA ...
## $ Q4_6 : int 1 1 NA NA 1 1 NA NA NA 1 ...
## $ Q4_7 : int NA 1 1 NA 1 1 1 1 1 1 ...
## $ Q4_8 : int 1 1 1 1 NA 1 1 NA NA 1 ...
## $ Q4_9 : int NA 1 NA 1 NA 1 1 NA NA 1 ...
## $ Q4_10 : int NA 1 1 NA 1 1 1 1 1 1 ...
## $ Q4_11 : int NA 1 1 1 NA NA NA NA NA NA ...
## $ Q4_12 : int 1 1 1 NA NA 1 1 NA NA NA ...
## $ Q6_1 : int 4 7 7 5 7 7 5 5 5 5 ...
## $ Q6_2 : int 5 6 5 7 5 7 7 5 5 5 ...
## $ Q6_3 : int 7 6 5 6 7 7 7 5 5 6 ...
## $ Q6_4 : int 4 5 6 5 5 7 7 5 5 7 ...
## $ Q6_5 : int 6 5 7 6 6 7 7 4 4 6 ...
## $ Q6_6 : int 7 4 7 5 7 7 5 4 3 7 ...
## $ Q6_7 : int 7 6 6 7 7 4 4 2 4 5 ...
## $ Q6_8 : int 7 7 7 5 7 7 7 7 4 7 ...
## $ Q6_9 : int 5 6 7 6 6 7 3 5 4 4 ...
## $ Q6_10 : int 6 6 7 5 7 7 3 6 4 2 ...
## $ Q6_11 : int 4 6 1 5 3 7 1 1 4 1 ...
## $ Q6_12 : int 4 6 3 5 7 7 7 2 4 6 ...
## $ Q6_13 : int 5 6 7 6 5 7 3 3 4 2 ...
## $ Q6_14 : int 4 5 4 6 5 4 1 3 4 3 ...
## $ Q6_15 : int 5 6 5 3 3 2 1 2 4 1 ...
## $ Q6_16 : int 7 5 7 7 7 7 4 5 4 4 ...
## $ Q6_17 : int 3 6 7 4 5 7 4 6 4 4 ...
## $ Q6_18 : int 4 6 4 6 4 2 1 1 4 3 ...
## $ Q7 : int 3 4 3 4 2 4 2 20 0 0 ...
## $ Q10 : int 1 4 4 4 1 3 1 3 2 1 ...
## $ Q9 : int 2 1 3 1 3 1 3 1 2 2 ...
## $ Q12 : int 19 22 21 22 21 56 36 23 21 22 ...
## $ Q12_1 : int 1 1 1 1 1 4 2 1 1 1 ...
## $ Q11 : int 2 1 2 2 2 2 2 2 1 1 ...
## $ Q13 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ X : logi NA NA NA NA NA NA ...
En este contexto, la variable “Q2” mide la cantidad de personas que han escuchado del turismo responsable vs. las que no.
turismo <- turismo %>%
mutate(Q2 = ifelse(Q2 == 1, "Si", Q2))
turismo <- turismo %>%
mutate(Q2 = ifelse(Q2 == 2, "No", Q2))
ggplot(turismo, aes(x = Q2, fill = Q2)) +
geom_bar() +
labs(title = "¿Ha oído hablar del turismo responsable y/o sostenible?",
x = "Respuestas",
y = "Frecuencia") +
scale_fill_manual(values = c("No" = "lightsalmon2", "Si" = "indianred3"))
Como se puede observar en la gráfica, la mayor cantidad de las personas encuestadas sí ha escuchado hablar sobre el turismo responsable y/o sostenible.
A continuación se muestra la variable “Q2”, la cual engloba los dos sexos de las personas que realizaron la encuesta, ilustrados en distintos colores.
turismo <- turismo %>%
mutate(Q2 = ifelse(Q2 == 1, "Hombre", Q11))
turismo <- turismo %>%
mutate(Q2 = ifelse(Q2 == 2, "Mujer", Q11))
ggplot(turismo, aes(x = Q2, fill = Q2)) +
geom_bar() +
labs(title = "Sexo de los participantes de la encuesta",
x = "Respuestas",
y = "Frecuencia") +
scale_fill_manual(values = c ("Hombre" = "lightblue1", "Mujer" = "peachpuff2"))
También como se puede observar, la mayor parte de los encuestados son mujeres. También se percibe que en la base de datos algún componente impide que la asignación de “1” a “hombre” sea leída como “hombre”, pues solo se refleja como 1.
Para esta gráfica se utiliza la variable “Q11”, que nuevamente hace referencia al sexo de las personas, y “Q2”, que ejemplica el conocimiento sobre el turismo responsable.
ggplot(data = turismo, aes(x = Q12, y = Q2)) +
geom_boxplot(fill = "#76EEC6", color = "black") +
labs(title = "Comparación de sexo por consciencia de turismo sustentable",
x = "Si saben de turismo responsable",
y = "Sexo")
## Warning: Removed 2 rows containing non-finite values (`stat_boxplot()`).
Parece haber una mayor correlación entre mujeres y el conocimiento sobre el turismo responsable, aunque también es posible que esto se encuentre biased por el hecho de la mayoría de encuestadas fueron mujeres.
Para esto se utiliza la variabale “Q3”, que engloba los dos países encuestados, México y España.
turismo <- turismo[!is.na(turismo$Q13), ]
turismo <- turismo %>%
mutate(Q13 = ifelse(Q13 == 1, "México", Q13))
turismo <- turismo %>%
mutate(Q13 = ifelse(Q13 == 2, "España", Q13))
ggplot(turismo, aes(x = Q13, fill = Q13)) +
geom_bar() +
labs(title = "País en el que realiza la encuesta",
x = "Respuestas",
y = "Frecuencia") +
scale_fill_manual(values = c("México" = "pink", "España" = "cornsilk1"))
Podemos concluir que la mayoría de las personas encuestadas lo fueron en el país de México por una diferencia de poco más de 100 personas.
Para conocer esto se utiliza la variabale “Q7”, la cual contiene la cantidad de viajes al año que proporcionaron los encuestados.
ggplot(data = turismo, aes(x = Q7)) +
geom_histogram(binwidth = 1, fill = "lightgoldenrod1", color = "black") +
labs(title = "Distribución de la Cantidad de Viajes en el Último Año",
x = "Cantidad de Viajes",
y = "Frecuencia")
## Warning: Removed 12 rows containing non-finite values (`stat_bin()`).
Se puede observar que hay una concentración mucho mayor en la cantidad 3, con las otras dos opciones más prominentes siendo 2 y 4.
En este histograma se aborda la edad de los encuestados por medio de la variable “Q12”, la cual contiene esta información.
ggplot(data = turismo, aes(x = Q12)) +
geom_histogram(binwidth = 1, fill = "lavenderblush2", color = "black") +
labs(title = "Distribución de Edad",
x = "Edad",
y = "Frecuencia")
## Warning: Removed 2 rows containing non-finite values (`stat_bin()`).
Podemos concluir que la mayoría de encuestados tiene menos de 25 años, con la mayoría siendo teniendo entre 20, 21, y 22 años.
A continuación se explora la relación entre la edad y los encuestados por país, lo cual se realiza mediante la variaba “Q13”, centrada en la localidad, y “Q12”, centrada en la edad.
ggplot(data = turismo, aes(x = Q13, y = Q12)) +
geom_boxplot(fill = "paleturquoise1", color = "black") +
labs(title = "Comparación de Edad por País",
x = "País",
y = "Edad")
## Warning: Removed 2 rows containing non-finite values (`stat_boxplot()`).
Podemos concluir que en España los encuestados tienen un rango de 20-52 años de edad y quienes están en México un rango de 20-60 años, siendo probable que personas de mayor edad viajen más a México.
A continuación se analiza en una escala del 1 al 7 cuánta importancia le dan a la sostenibilidad, llevado a cabo mediante la variable “Q6_1”, la cual mide esto.
ggplot(data = turismo, aes(x = Q6_1)) +
geom_histogram(binwidth = 1, fill = "#FFC1C1", color = "violetred4") +
labs(title = "Importancia de la sostenibilidad",
x = "
En la escala de 1 al 7 soy una persona preocupada por la sostenibilidad económica, sociocultural y medioambiental.",
y = "Frecuencia")
Podemos observar que la mayor parte de las personas le da importancia a un nivel medio, inclinado hacia el cuartil superior.
Esta gráfica de dispersión se centra en la relación entre la edad de las personas (Variable Q12) y la importancia que le dan a no causar un impacto negativo ambiental o social con su presencia (Q6_6).
ggplot(turismo, aes(x = Q12, y = Q6_6)) +
geom_point(color = "#EED5D2", size = 3, alpha = 0.7) +
labs(x = "Edad", y = "Mi impacto") +
ggtitle("Comparación de Edad vs. Mi impacto") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 14),
axis.text = element_text(size = 12))
## Warning: Removed 2 rows containing missing values (`geom_point()`).
Podemos observar que la mayoría de las personas, su edad indistinta, se encuentran en los tres niveles superiores de preocupación por evitar el daño. Otro dato interesante podría ser cómo los niveles inferiores de preoupación parecen estar centrados en personas menores de 25 años o entre 50 y 75 años.
En esta gráfica se muestra por país (Q13), quiénes planifican los viajes que realizan los encuestados (Q9).
ggplot(turismo, aes(x = factor(Q13), fill = factor(Q9))) +
geom_bar() +
labs(x = "País", y = "Recuento", fill = "Quién organiza y planifica los viajes") +
ggtitle("Comparación de País con Organización de Viajes") +
scale_x_discrete(labels = c("1" = "México", "2" = "España")) +
scale_fill_manual(values = c("1" = "violet", "2" = "pink", "3" = "beige"),
labels = c("1" = "Principalmente yo", "2" = "Principalmente otras personas", "3" = "Tanto yo como otras personas")) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 14),
axis.text = element_text(size = 12))
Como se puede observar, en los dos países es más presente que las mismas personas lo organicen, en México siendo casi igual la proporción de “tanto yo como otras personas”.
En esta gráfica se observa el promedio de viajes anuales (variable Q7) en relación con los dos países disponibles (Q13).
ggplot(turismo, aes(x = factor(Q13), y = Q7)) +
geom_bar(stat = "summary", fun = "mean", position = "dodge", fill = c("#EED5D2", "#FFA07A")) +
labs(x = "País", y = "Promedio de Viaje") +
ggtitle("Promedio de Viaje Comparado entre Españoles y Mexicanos") +
scale_x_discrete(labels = c("1" = "México", "2" = "España")) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 14),
axis.text = element_text(size = 12))
## Warning: Removed 12 rows containing non-finite values (`stat_summary()`).
Se puede observar que el promedio es bastante similar, con México siendo ligeramente superior.
Como conclusión general, se puede llegar a lo siguiente: Existen factores que inevitable causarán cierto sesgo en los resultados, como la diferencia entre nacionalidades y sexos encuestados. Sin embargo, hay varios puntos rescatables. La preocupación por el medioambiente parece ser moderada, lo cual tiene sentido en relación a la cantidad de personas que conocen sobre el turismo responsable, que también parece ser moderado en relación con las personas que no, y parece estar inclinado hacia la población femenina. Las personas, sin distinción de edad, parecen preocupadas por su impacto socioambiental. También existe una marcada concentración de encuestados pertenecientes a una población joven y mexicana, los cuales realizan entre 2 y 3 viajes al año. Tomando en cuenta la comparación entre los diversos resultados y el hecho de que la preocupación por la sostenibilidad se encuentra en un término moderado-alto (debido a que la escala era de 7 y la respuesta mayor es 5), se podría especular sobre la posibilidad de que este número aumentase de manera importante si igualmente se incrementara la conciencia sobre el turismo consciente -quizá orientado a la población masculina-, ya que los resultados sobre el interés fueron favorables a pesar de la gran cantidad de personas que no conocían de este término en específico. Otro tema de relevancia es que la edad joven y madura parece ser donde se encuentra la concentración de personas que se preocupan menos por su impacto. Así mismo, en promedio en los dos países se viaja lo mismo, con México ligeramente a la delantera, y en ambos casos lo más común es que la persona planifique su viaje.
Base_de_Datos_SP <- read.csv("/Users/araquezada/Documents/Tec/7mo Semestre/Analítica para Negocios/Modulo 3/Base de Datos Turismo Responsable 2.csv")
bd <- Base_de_Datos_SP %>% select(starts_with("Q"))
na_values <- colSums(is.na(bd))
print(na_values)
## Q2 Q3_1 Q3_2 Q3_3 Q4_1 Q4_2 Q4_3 Q4_4 Q4_5 Q4_6 Q4_7 Q4_8 Q4_9
## 0 79 79 79 115 233 398 561 562 433 328 454 501
## Q4_10 Q4_11 Q4_12 Q6_1 Q6_2 Q6_3 Q6_4 Q6_5 Q6_6 Q6_7 Q6_8 Q6_9 Q6_10
## 445 697 393 0 0 0 0 0 0 0 0 0 0
## Q6_11 Q6_12 Q6_13 Q6_14 Q6_15 Q6_16 Q6_17 Q6_18 Q7 Q10 Q9 Q12 Q12_1
## 0 0 0 0 0 0 0 0 12 13 11 2 0
## Q11 Q13
## 0 2
bd_mex <- bd[bd$Q13 == 1 ,]
bd_esp <- bd[bd$Q13 == 2 ,]
Q9 Hipótesis nula: La proporción de turistas Españoles que reservan su viaje ellos mismos es igual a 86.6%
Hipótesis alternativa: La proporción de tursitas Españoles que reservan su viaje ellos mismos es diferente a 86.6%
bd_espfilt <- bd_esp %>%
filter (Q9 !="")
prop_obs <- sum(bd_espfilt$Q9 == "1") /length(bd_espfilt$Q9)
prop_esp <- 0.866
resultado_prueba <- prop.test(x=sum(bd_espfilt$Q9 == "1"), n = length(bd_espfilt$Q9), p =prop_esp, alternative = "two.sided")
print(resultado_prueba)
##
## 1-sample proportions test with continuity correction
##
## data: sum(bd_espfilt$Q9 == "1") out of length(bd_espfilt$Q9), null probability prop_esp
## X-squared = 579.16, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.866
## 95 percent confidence interval:
## 0.4002848 0.5009664
## sample estimates:
## p
## 0.4501279
Como la probabilidad de equivocarse al rechazar Ho es pequeña (2.2e-16), Rechazo Ho. Con una confianza del 95%, los Españoles que reservan por ellos mismos es estadisticamente diferente al 86.6%
Q6_4 Hipótesis nula: la proporción de turistas mexicanos que fomento el desarrollo local del destino consumiendo productos y servicios locales es mayor o igual al 50%.
Hipótesis alterna: la proporción de turistas mexicanos que fomento el desarrollo local del destino consumiendo productos y servicios locales es menor al 50%.
summary(bd$Q6_4)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 4.000 5.000 4.994 6.000 7.000
n <- length(bd$Q6_4)
prop_obs <- mean(bd$Q6_4)
prop_expected <- 0.5
prop_test_result <- prop.test(x = sum(bd$Q6_4 <= 3), n = n, p = prop_expected, alternative = "less")
print(prop_test_result)
##
## 1-sample proportions test with continuity correction
##
## data: sum(bd$Q6_4 <= 3) out of n, null probability prop_expected
## X-squared = 395.36, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is less than 0.5
## 95 percent confidence interval:
## 0.0000000 0.1962297
## sample estimates:
## p
## 0.1743316
Dado el valor p de 0.1731602, no contamos con evidencia suficiente para rechazar la hipótesis nula. Esto significa que no hay suficiente evidencia estadística para afirmar que la proporción de turistas mexicanos que fomentan el desarrollo local del destino consumiendo productos y servicios locales es menor al 50%.
Q6_11
Hipótesis nula: la proporción de turistas españoles que afirman que compensarían la huella de carbono en su alojamiento vacacional es igual al 55%.
Hipótesis alterna: la proporción de turistas españoles que afirman que compensarían la huella de carbono en su alojamiento vacacional es diferente al 55%
summary(bd$Q6_11)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 2.000 2.718 4.000 7.000
n <- length(bd$Q6_11)
prop_obs <- mean(bd$Q6_11)
prop_expected <- 0.55
prop_test_result <- prop.test(x = sum(bd$Q6_11 == 1), n = n, p = prop_expected, alternative = "two.sided")
print(prop_test_result)
##
## 1-sample proportions test with continuity correction
##
## data: sum(bd$Q6_11 == 1) out of n, null probability prop_expected
## X-squared = 79.633, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.55
## 95 percent confidence interval:
## 0.3727498 0.4366030
## sample estimates:
## p
## 0.4042781
Dado un valor p de 0.4069264, igual que las veces anteriores, no se cuenta con evidencia para rechazar la hipotesis nula. No se puede afirmar que la proporción de turistas españoles que afirman que compensarían la huella de carbono en su alojamiento vacacional es diferente del 55%, como se mencionaba en la hipótesis alterna.
Q7
Hipótesis nula: la cantidad promedio de viajes que realizan los mexicanos es igual a la cantidad de viajes que realizan los españoles.
Hipótesis alterna: la cantidad promedio de viajes que realizan los mexicanos es diferente a la cantidad de viajes que realizan los españoles.
bd <- bd[!is.na(bd$Q7), ]
summary(bd$Q7)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 2.000 3.000 3.723 4.000 70.000