Actividad Caso Turismo Responsable

Importar librerias

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v stringr 1.4.0
## v tidyr   1.2.0     v forcats 0.5.1
## v readr   2.1.2
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(janitor)
## Warning: package 'janitor' was built under R version 4.1.3
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
library(ggplot2)
library(car) #para recodificar
## Warning: package 'car' was built under R version 4.1.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.1.3
## 
## Attaching package: 'car'
## The following object is masked from 'package:purrr':
## 
##     some
## The following object is masked from 'package:dplyr':
## 
##     recode

Importar la base de datos

# Base de datos
excel_file_path <- "C:/Users/maxwi/Desktop/Base de Datos SP Turismo Responsable.xlsx"
sheet_name <- "Datos" 
turismo <- read_xlsx(excel_file_path, sheet = sheet_name)
## New names:
## * `` -> ...59

Análisis de datos

Tipos de datos

str(turismo)
## tibble [935 x 59] (S3: tbl_df/tbl/data.frame)
##  $ StartDate            : POSIXct[1:935], format: "2020-03-05 08:54:01" "2020-03-05 09:03:48" ...
##  $ EndDate              : POSIXct[1:935], format: "2020-03-05 09:01:58" "2020-03-05 09:05:44" ...
##  $ Status               : num [1:935] 0 0 0 0 0 0 0 0 0 0 ...
##  $ IPAddress            : chr [1:935] "131.178.54.55" "131.178.200.66" "200.95.170.77" "131.178.54.69" ...
##  $ Progress             : num [1:935] 100 100 100 100 100 100 100 100 100 100 ...
##  $ Duration (in seconds): num [1:935] 477 115 257 916 255 ...
##  $ Finished             : num [1:935] 1 1 1 1 1 1 1 1 1 1 ...
##  $ RecordedDate         : POSIXct[1:935], format: "2020-03-05 09:01:59" "2020-03-05 09:05:44" ...
##  $ ResponseId           : chr [1:935] "R_1HNq2eWcYHIucIF" "R_3GlhbBuuVXrn7Wa" "R_27Nh8d4iF86rUuK" "R_uf5wi6KfNeBnmal" ...
##  $ RecipientLastName    : logi [1:935] NA NA NA NA NA NA ...
##  $ RecipientFirstName   : logi [1:935] NA NA NA NA NA NA ...
##  $ RecipientEmail       : logi [1:935] NA NA NA NA NA NA ...
##  $ ExternalReference    : logi [1:935] NA NA NA NA NA NA ...
##  $ LocationLatitude     : num [1:935] 25.7 25.6 25.7 25.6 25.8 ...
##  $ LocationLongitude    : num [1:935] -100 -100 -100 -100 -100 ...
##  $ DistributionChannel  : chr [1:935] "anonymous" "anonymous" "anonymous" "anonymous" ...
##  $ UserLanguage         : chr [1:935] "EN" "EN" "EN" "EN" ...
##  $ Q2                   : num [1:935] 1 1 1 1 1 1 2 1 1 2 ...
##  $ Q3_1                 : num [1:935] 1 1 1 NA 1 1 2 2 2 1 ...
##  $ Q3_2                 : num [1:935] 2 2 2 NA 3 2 1 3 3 2 ...
##  $ Q3_3                 : num [1:935] 3 3 3 NA 2 3 3 1 1 3 ...
##  $ Q4_1                 : num [1:935] 1 1 1 NA 1 1 1 1 NA 1 ...
##  $ Q4_2                 : num [1:935] NA 1 1 1 1 1 NA 1 1 1 ...
##  $ Q4_3                 : num [1:935] 1 1 1 1 1 1 1 1 NA 1 ...
##  $ Q4_4                 : num [1:935] NA 1 NA 1 1 1 1 NA NA NA ...
##  $ Q4_5                 : num [1:935] NA 1 NA 1 NA NA 1 NA NA NA ...
##  $ Q4_6                 : num [1:935] 1 1 NA NA 1 1 NA NA NA 1 ...
##  $ Q4_7                 : num [1:935] NA 1 1 NA 1 1 1 1 1 1 ...
##  $ Q4_8                 : num [1:935] 1 1 1 1 NA 1 1 NA NA 1 ...
##  $ Q4_9                 : num [1:935] NA 1 NA 1 NA 1 1 NA NA 1 ...
##  $ Q4_10                : num [1:935] NA 1 1 NA 1 1 1 1 1 1 ...
##  $ Q4_11                : num [1:935] NA 1 1 1 NA NA NA NA NA NA ...
##  $ Q4_12                : num [1:935] 1 1 1 NA NA 1 1 NA NA NA ...
##  $ Q6_1                 : num [1:935] 4 7 7 5 7 7 5 5 5 5 ...
##  $ Q6_2                 : num [1:935] 5 6 5 7 5 7 7 5 5 5 ...
##  $ Q6_3                 : num [1:935] 7 6 5 6 7 7 7 5 5 6 ...
##  $ Q6_4                 : num [1:935] 4 5 6 5 5 7 7 5 5 7 ...
##  $ Q6_5                 : num [1:935] 6 5 7 6 6 7 7 4 4 6 ...
##  $ Q6_6                 : num [1:935] 7 4 7 5 7 7 5 4 3 7 ...
##  $ Q6_7                 : num [1:935] 7 6 6 7 7 4 4 2 4 5 ...
##  $ Q6_8                 : num [1:935] 7 7 7 5 7 7 7 7 4 7 ...
##  $ Q6_9                 : num [1:935] 5 6 7 6 6 7 3 5 4 4 ...
##  $ Q6_10                : num [1:935] 6 6 7 5 7 7 3 6 4 2 ...
##  $ Q6_11                : num [1:935] 4 6 1 5 3 7 1 1 4 1 ...
##  $ Q6_12                : num [1:935] 4 6 3 5 7 7 7 2 4 6 ...
##  $ Q6_13                : num [1:935] 5 6 7 6 5 7 3 3 4 2 ...
##  $ Q6_14                : num [1:935] 4 5 4 6 5 4 1 3 4 3 ...
##  $ Q6_15                : num [1:935] 5 6 5 3 3 2 1 2 4 1 ...
##  $ Q6_16                : num [1:935] 7 5 7 7 7 7 4 5 4 4 ...
##  $ Q6_17                : num [1:935] 3 6 7 4 5 7 4 6 4 4 ...
##  $ Q6_18                : num [1:935] 4 6 4 6 4 2 1 1 4 3 ...
##  $ Q7                   : num [1:935] 3 4 3 4 2 4 2 20 0 0 ...
##  $ Q10                  : num [1:935] 1 4 4 4 1 3 1 3 2 1 ...
##  $ Q9                   : num [1:935] 2 1 3 1 3 1 3 1 2 2 ...
##  $ Q12                  : num [1:935] 19 22 21 22 21 56 36 23 21 22 ...
##  $ Q12_1                : num [1:935] 1 1 1 1 1 4 2 1 1 1 ...
##  $ Q11                  : num [1:935] 2 1 2 2 2 2 2 2 1 1 ...
##  $ Q13                  : num [1:935] 1 1 1 1 1 1 1 1 1 1 ...
##  $ ...59                : logi [1:935] NA NA NA NA NA NA ...

Summary

summary(turismo)
##    StartDate                      EndDate                        Status 
##  Min.   :2020-03-04 04:54:34   Min.   :2020-03-04 04:57:13   Min.   :0  
##  1st Qu.:2020-03-08 19:28:15   1st Qu.:2020-03-08 19:32:51   1st Qu.:0  
##  Median :2020-03-09 17:37:12   Median :2020-03-09 17:39:08   Median :0  
##  Mean   :2020-03-13 14:25:03   Mean   :2020-03-13 15:13:52   Mean   :0  
##  3rd Qu.:2020-03-20 05:49:28   3rd Qu.:2020-03-20 05:59:40   3rd Qu.:0  
##  Max.   :2020-03-26 07:10:06   Max.   :2020-03-26 07:50:16   Max.   :0  
##                                                                         
##   IPAddress            Progress      Duration (in seconds)    Finished     
##  Length:935         Min.   : 50.00   Min.   :    59.0      Min.   :0.0000  
##  Class :character   1st Qu.:100.00   1st Qu.:   183.0      1st Qu.:1.0000  
##  Mode  :character   Median :100.00   Median :   309.0      Median :1.0000  
##                     Mean   : 94.17   Mean   :  2920.7      Mean   :0.8834  
##                     3rd Qu.:100.00   3rd Qu.:   507.5      3rd Qu.:1.0000  
##                     Max.   :100.00   Max.   :500660.0      Max.   :1.0000  
##                                                                            
##   RecordedDate                  ResponseId        RecipientLastName
##  Min.   :2020-03-04 04:57:13   Length:935         Mode:logical     
##  1st Qu.:2020-03-08 21:05:23   Class :character   NA's:935         
##  Median :2020-03-11 09:18:35   Mode  :character                    
##  Mean   :2020-03-14 10:50:52                                       
##  3rd Qu.:2020-03-22 04:29:48                                       
##  Max.   :2020-03-30 07:27:42                                       
##                                                                    
##  RecipientFirstName RecipientEmail ExternalReference LocationLatitude
##  Mode:logical       Mode:logical   Mode:logical      Min.   :17.99   
##  NA's:935           NA's:935       NA's:935          1st Qu.:25.64   
##                                                      Median :25.74   
##                                                      Mean   :31.07   
##                                                      3rd Qu.:41.66   
##                                                      Max.   :47.21   
##                                                      NA's   :109     
##  LocationLongitude  DistributionChannel UserLanguage             Q2      
##  Min.   :-122.399   Length:935          Length:935         Min.   :1.00  
##  1st Qu.:-100.311   Class :character    Class :character   1st Qu.:1.00  
##  Median :-100.260   Mode  :character    Mode  :character   Median :1.00  
##  Mean   : -61.751                                          Mean   :1.38  
##  3rd Qu.:  -2.253                                          3rd Qu.:2.00  
##  Max.   :  15.560                                          Max.   :2.00  
##  NA's   :109                                                             
##       Q3_1            Q3_2            Q3_3           Q4_1          Q4_2    
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1     Min.   :1    
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:2.00   1st Qu.:1     1st Qu.:1    
##  Median :1.000   Median :2.000   Median :2.00   Median :1     Median :1    
##  Mean   :1.645   Mean   :2.046   Mean   :2.31   Mean   :1     Mean   :1    
##  3rd Qu.:2.000   3rd Qu.:3.000   3rd Qu.:3.00   3rd Qu.:1     3rd Qu.:1    
##  Max.   :3.000   Max.   :3.000   Max.   :3.00   Max.   :1     Max.   :1    
##  NA's   :79      NA's   :79      NA's   :79     NA's   :115   NA's   :233  
##       Q4_3          Q4_4          Q4_5          Q4_6          Q4_7    
##  Min.   :1     Min.   :1     Min.   :1     Min.   :1     Min.   :1    
##  1st Qu.:1     1st Qu.:1     1st Qu.:1     1st Qu.:1     1st Qu.:1    
##  Median :1     Median :1     Median :1     Median :1     Median :1    
##  Mean   :1     Mean   :1     Mean   :1     Mean   :1     Mean   :1    
##  3rd Qu.:1     3rd Qu.:1     3rd Qu.:1     3rd Qu.:1     3rd Qu.:1    
##  Max.   :1     Max.   :1     Max.   :1     Max.   :1     Max.   :1    
##  NA's   :398   NA's   :561   NA's   :562   NA's   :433   NA's   :328  
##       Q4_8          Q4_9         Q4_10         Q4_11         Q4_12    
##  Min.   :1     Min.   :1     Min.   :1     Min.   :1     Min.   :1    
##  1st Qu.:1     1st Qu.:1     1st Qu.:1     1st Qu.:1     1st Qu.:1    
##  Median :1     Median :1     Median :1     Median :1     Median :1    
##  Mean   :1     Mean   :1     Mean   :1     Mean   :1     Mean   :1    
##  3rd Qu.:1     3rd Qu.:1     3rd Qu.:1     3rd Qu.:1     3rd Qu.:1    
##  Max.   :1     Max.   :1     Max.   :1     Max.   :1     Max.   :1    
##  NA's   :454   NA's   :501   NA's   :445   NA's   :697   NA's   :393  
##       Q6_1            Q6_2            Q6_3            Q6_4      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :5.000   Median :6.000   Median :6.000   Median :5.000  
##  Mean   :5.039   Mean   :5.352   Mean   :5.361   Mean   :4.994  
##  3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##                                                                 
##       Q6_5            Q6_6            Q6_7            Q6_8           Q6_9      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:5.000   1st Qu.:4.000   1st Qu.:5.00   1st Qu.:3.000  
##  Median :6.000   Median :6.000   Median :5.000   Median :7.00   Median :5.000  
##  Mean   :5.471   Mean   :5.548   Mean   :4.748   Mean   :5.96   Mean   :4.551  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:7.00   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.00   Max.   :7.000  
##                                                                                
##      Q6_10           Q6_11           Q6_12           Q6_13      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:1.000   1st Qu.:4.000   1st Qu.:3.000  
##  Median :5.000   Median :2.000   Median :5.000   Median :4.000  
##  Mean   :4.811   Mean   :2.718   Mean   :4.943   Mean   :4.321  
##  3rd Qu.:6.000   3rd Qu.:4.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##                                                                 
##      Q6_14           Q6_15           Q6_16           Q6_17      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:1.000   1st Qu.:4.000   1st Qu.:3.000  
##  Median :4.000   Median :2.000   Median :6.000   Median :5.000  
##  Mean   :3.953   Mean   :3.098   Mean   :5.332   Mean   :4.645  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:7.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##                                                                 
##      Q6_18             Q7              Q10              Q9       
##  Min.   :1.000   Min.   : 0.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.: 2.000   1st Qu.:1.000   1st Qu.:1.000  
##  Median :4.000   Median : 3.000   Median :1.000   Median :2.000  
##  Mean   :4.102   Mean   : 3.723   Mean   :1.535   Mean   :1.929  
##  3rd Qu.:5.000   3rd Qu.: 4.000   3rd Qu.:1.000   3rd Qu.:3.000  
##  Max.   :7.000   Max.   :70.000   Max.   :4.000   Max.   :3.000  
##                  NA's   :12       NA's   :13      NA's   :11     
##       Q12           Q12_1           Q11             Q13        ...59        
##  Min.   :16.0   Min.   :1.00   Min.   :1.000   Min.   :1.00   Mode:logical  
##  1st Qu.:21.0   1st Qu.:1.00   1st Qu.:1.000   1st Qu.:1.00   NA's:935      
##  Median :35.0   Median :2.00   Median :2.000   Median :1.00                 
##  Mean   :39.5   Mean   :2.45   Mean   :1.569   Mean   :1.43                 
##  3rd Qu.:55.0   3rd Qu.:3.00   3rd Qu.:2.000   3rd Qu.:2.00                 
##  Max.   :92.0   Max.   :5.00   Max.   :2.000   Max.   :2.00                 
##  NA's   :2                                     NA's   :2

Visualización de los datos

Gráfica de Barras Q2

# Sustituir respuestas numericas dentro de la columna por caracteres (SI / NO)

turismo <- turismo %>%
  mutate(Q2 = case_when(
    Q2 == 1 ~ "SI",
    Q2 == 2 ~ "NO",
    TRUE ~ as.character(turismo$Q2)
  ))
# Creación de una gráfica de barras para mostrar la cantidad de respuestas 
# (SI / NO).

ggplot(turismo, aes(x = Q2)) +
  geom_bar() +
  labs(title = "¿Has oído hablar del turismo responsable y/o sostenible?",
       x = "Valores",
       y = "Frecuencia") +
  scale_fill_manual(values = c("red", "green"))

Tabla cruzada Q3

# Creación de la tabla cruzada
tabla_cruzada <- table(turismo$Q3_1, turismo$Q3_2,turismo$Q3_3,
                       dnn = c("Cuidado del medio ambiente", 
                               "Procura no alterar el entorno social",
                               "Procura hacer un consumo razonable de recursos"))

tabla_cruzada
## , , Procura hacer un consumo razonable de recursos = 1
## 
##                           Procura no alterar el entorno social
## Cuidado del medio ambiente   1   2   3
##                          1   0   0   0
##                          2   0   0  98
##                          3   0  56   0
## 
## , , Procura hacer un consumo razonable de recursos = 2
## 
##                           Procura no alterar el entorno social
## Cuidado del medio ambiente   1   2   3
##                          1   0   0 209
##                          2   0   0   0
##                          3  74   0   0
## 
## , , Procura hacer un consumo razonable de recursos = 3
## 
##                           Procura no alterar el entorno social
## Cuidado del medio ambiente   1   2   3
##                          1   0 225   0
##                          2 194   0   0
##                          3   0   0   0

Proporción por renglón

prop.table(tabla_cruzada, margin= 1)
## , , Procura hacer un consumo razonable de recursos = 1
## 
##                           Procura no alterar el entorno social
## Cuidado del medio ambiente         1         2         3
##                          1 0.0000000 0.0000000 0.0000000
##                          2 0.0000000 0.0000000 0.3356164
##                          3 0.0000000 0.4307692 0.0000000
## 
## , , Procura hacer un consumo razonable de recursos = 2
## 
##                           Procura no alterar el entorno social
## Cuidado del medio ambiente         1         2         3
##                          1 0.0000000 0.0000000 0.4815668
##                          2 0.0000000 0.0000000 0.0000000
##                          3 0.5692308 0.0000000 0.0000000
## 
## , , Procura hacer un consumo razonable de recursos = 3
## 
##                           Procura no alterar el entorno social
## Cuidado del medio ambiente         1         2         3
##                          1 0.0000000 0.5184332 0.0000000
##                          2 0.6643836 0.0000000 0.0000000
##                          3 0.0000000 0.0000000 0.0000000

Gráfica de Barras Q4

# Creación de una tabla en conjunto de las respuestas de Q4
respuestas_q4 <- turismo[, 22:33]
# Sustituir los valores NA's por 0
respuestas_q4[is.na(respuestas_q4)] <- 0
suma_respuestas_q4 <- colSums(respuestas_q4)
# Creación de una gráfica de barras para mostrar la cantidad de respuestas por opción.

ggplot(data = data.frame(columnas = names(suma_respuestas_q4), suma = suma_respuestas_q4),
       aes(x = columnas, y = suma, fill = columnas)) +
  geom_bar(stat = "identity") +
  labs(title = "Señale los aspectos que usted tiene en cuenta a la hora de organizar un viaje",
       x = "Aspectos a tomar en cuenta",
       y = "Suma total de Respuestas") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  scale_fill_discrete(guide = FALSE)  # Para ocultar la leyenda de colores
## Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please
## use `guide = "none"` instead.

Significado de las columnas: * Q4_1: Costo de viaje * Q4_2: Seguridad del destino * Q4_3: Oferta turística del destino * Q4_4: Números de desplazamientos necesarios * Q4_5: Que no haya que invertir mucho tiempo en desplazamientos * Q4_6: Medios de transporte disponibles * Q4_7: Conocer una cultura diferente * Q4_8: Conocer parajes diferentes * Q4_9: Oferta gastronómica * Q4_10: Recomendaciones de otros visitantes * Q4_11: Exclusividad * Q4_12: Temporada del año

Gráfica de Barras Q7

# Creación los intervalos y asignar etiquetas a los grupos
intervalos <- c(0, 5, 10, 15, Inf)  # Define los límites de los intervalos
etiquetas <- c("5 o menos", "Entre 6 y 10", "Entre 11 y 15", "15 o más")  
# Etiquetas para los grupos

# Agregar una nueva columna con los grupos
turismo$Q7_grupos <- cut(turismo$Q7, breaks = intervalos, labels = etiquetas, right = FALSE)
# Creación de la gráfica de barras

ggplot(turismo, aes(x = factor(Q7_grupos))) +
  geom_bar() +
  labs(title = "¿Cuántos viajes haz realizado en el último año?", 
       x = "Cantidad de viajes", y = "Frecuencia")

Gráfica de Barras Q10

# Sustituir respuestas numericas dentro de la columna por caracteres

turismo <- turismo %>%
  mutate(Q10 = case_when(
    Q10 == 1 ~ "Familiares",
    Q10 == 2 ~ "Estudio",
    Q10 == 3 ~ "Trabajo",
    Q10 == 4 ~ "Otra razón",
    TRUE ~ as.character(turismo$Q10)
  ))
# Creación de una gráfica de barras para mostrar la cantidad de respuestas

ggplot(turismo, aes(x = Q10)) +
  geom_bar() +
  labs(title = "Razón por la que viajaste",
       x = "Razón",
       y = "Frecuencia")

Gráfica de Barras Q9

# Sustituir respuestas numericas dentro de la columna por caracteres

turismo <- turismo %>%
  mutate(Q9 = case_when(
    Q9 == 1 ~ "Principalmente yo",
    Q9 == 2 ~ "Principalmente otras personas",
    Q9 == 3 ~ "Tanto yo como otras personas",
    TRUE ~ as.character(turismo$Q9)
  ))
# Creación de una gráfica de barras para mostrar la cantidad de respuestas

ggplot(turismo, aes(x = Q9)) +
  geom_bar() +
  labs(title = "¿Quién ha organizado y planificado estos viajes?",
       x = "Responsable",
       y = "Frecuencia")

Gráfica de Barras Q12

# Creación los intervalos y asignar etiquetas a los grupos
intervalos <- c(0, 25, 40, 55, 65, Inf)  # Define los límites de los intervalos
etiquetas <- c("25 o menos", "Entre 26 y 40", "Entre 41 y 55", "56 y 65", " 
               65 o más")  
# Etiquetas para los grupos

# Agregar una nueva columna con los grupos
turismo$Q12_grupos <- cut(turismo$Q12, breaks = intervalos, labels = etiquetas, right = FALSE)
# Creación de la gráfica de barras

ggplot(turismo, aes(x = factor(Q12_grupos))) +
  geom_bar() +
  labs(title = "Edad del encuestado", 
       x = "Edades en rangos", y = "Frecuencia")

Gráfica de Barras Q11

# Sustituir respuestas numericas dentro de la columna por caracteres

turismo <- turismo %>%
  mutate(Q11 = case_when(
    Q11 == 1 ~ "Hombre",
    Q11 == 2 ~ "Mujer",
    TRUE ~ as.character(turismo$Q11)
  ))
# Creación de una gráfica de barras para mostrar la cantidad de respuestas

ggplot(turismo, aes(x = Q11)) +
  geom_bar() +
  labs(title = "Sexo del encuestado",
       x = "Sexo",
       y = "Frecuencia")

Gráfica de Barras Q13

# Sustituir respuestas numericas dentro de la columna por caracteres

turismo <- turismo %>%
  mutate(Q13 = case_when(
    Q13 == 1 ~ "México",
    Q13 == 2 ~ "España",
    TRUE ~ as.character(turismo$Q13)
  ))
# Creación de una gráfica de barras para mostrar la cantidad de respuestas

ggplot(turismo, aes(x = Q13)) +
  geom_bar() +
  labs(title = "Pís del encuestado",
       x = "País",
       y = "Frecuencia")

Preguntas de hipótesis

#Pregunta 1
library(readxl)
ruta_archivo <- "C:/Users/maxwi/Desktop/Base de Datos SP Turismo Responsable.xlsx"
datos <- read_excel(ruta_archivo, sheet = "Datos")
## New names:
## * `` -> ...59
conteo <- sum(datos$Q13 == 2 & datos$Q9 == 1, na.rm = TRUE)
proporcion <- conteo / sum(datos$Q13 == 2, na.rm = TRUE)
cat("Número de datos igual a 2 en la columna 'Q13' y 1 en la columna 'Q9':", conteo, "\n")
## Número de datos igual a 2 en la columna 'Q13' y 1 en la columna 'Q9': 176
cat("Proporción de datos igual a 2 en la columna 'Q13' y 1 en la columna 'Q9':", proporcion, "\n")
## Proporción de datos igual a 2 en la columna 'Q13' y 1 en la columna 'Q9': 0.4389027
#Hipótesis nula: la proporción de turistas españoles que reservan su viaje ellos mismos es igual a 86.6%.

#Hipótesis alterna: la proporción de turistas españoles que reservan su viaje ellos mismos es diferente a 86.6%.

#Se acepta la hipótesis alterna.
#Pregunta 2
ruta_excel <- "C:\\Users\\maxwi\\Desktop\\Base de Datos SP Turismo Responsable.xlsx"
datos_excel <- read_excel(ruta_excel, sheet = "Datos")
## New names:
## * `` -> ...59
valores_5_o_mas <- datos_excel$Q6_4[datos_excel$Q6_4 >= 5]
proporcion_5_o_mas <- length(valores_5_o_mas) / nrow(datos_excel)
cat("La proporción de valores del 5 en adelante en la columna Q6_4 es:", proporcion_5_o_mas, "\n")
## La proporción de valores del 5 en adelante en la columna Q6_4 es: 0.6417112
#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%

#Se acepta la hipótesis nula.
#Pregunta 3
valores_5_o_mas <- datos_excel$Q6_11[datos_excel$Q6_11 >= 5]
proporcion_5_o_mas <- length(valores_5_o_mas) / nrow(datos_excel)
cat("La proporción de valores del 5 en adelante en la columna Q6_11 es:", proporcion_5_o_mas, "\n")
## La proporción de valores del 5 en adelante en la columna Q6_11 es: 0.2128342
#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%.

#Se acepta la hipótesis alterna.
#Pregunta 4
promedio_Q7 <- mean(datos_excel$Q7, na.rm = TRUE)
cat("El promedio de la columna Q7 es:", promedio_Q7, "\n")
## El promedio de la columna Q7 es: 3.722644
#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.

#Se acepta la hipótesis alterna.
#Pregunta 5
datos_filtrados <- datos_excel[datos_excel$Q13 == 1, ]
rango_edad <- range(datos_filtrados$Q12, na.rm = TRUE)
cat("El rango de edad para los valores de Q13 igual a 1 es:", rango_edad[1], "a", rango_edad[2], "\n")
## El rango de edad para los valores de Q13 igual a 1 es: 17 a 92
#Hipótesis nula: El rango de edad en el que se encuentran los turistas mexicanos está entre 25 y 34 años.

#Hipótesis alterna: El rango de edad en el que se encuentran los turistas mexicanos no está entre 25 y 34 años.

#Se acepta la hipótesis alterna.
#Pregunta 6
datos_filtrados_2 <- datos_excel[datos_excel$Q13 == 2, ]
rango_edad_2 <- range(datos_filtrados_2$Q12, na.rm = TRUE)
cat("El rango de edad para los valores de Q13 igual a 2 es:", rango_edad_2[1], "a", rango_edad_2[2], "\n")
## El rango de edad para los valores de Q13 igual a 2 es: 16 a 86
#Hipótesis nula: El rango de edad en el que se encuentran los turistas vascos está entre 15 y 29 años.

#Hipótesis alterna: El rango de edad en el que se encuentran los turistas vascos no está entre 15 y 29 años.

#Se acepta la hipótesis alterna.

##Conclusión

#Para fomentar el turismo responsable en nuestro país, es necesario garantizar la sostenibilidad económica a nivel local de este sector. Se busca evitar que se disparen los precios del costo promedio de vida en destinos turísticos para los ciudadanos y también que se respete el comercio local de estos mismos destinos, puesto que esto estaría manteniendo en funcionamiento la economía de la ciudad y de los habitantes. Del mismo modo, se busca que se promuevan medios amigables al medio ambiente en aquello relacionado a las actividades turísticas, desde el transporte, hasta el hospedaje y consumo. Una estrategia efectiva, considerando que muchas de las personas encuestadas son menores de 25 años y buscan viajar para ver a la familia, sería incentivar los medios de transporte como el autobús, en donde se pueden transportar una grán cantidad de personas evitando las emisiones de carbono correspondientes a viajes automóviles individuales. Los camiones incluso emitirían menos emisiones de CO2 que los aviones. Vale la pena mencionar que también sería más económico para los turistas y si se establece un plan de transporte de autobús en las principales ciudades a las que viajan estas personas esto incluso podría aportar a la economía de dicha entidad.