| “Gestion de datos” |
| “Grupo A :Alejandra Granados, Kathleen Bolaño Perez ,Jorge Enrique Palomino Andrade,Oscar Briñez,Luis Miguel Sanz Llache & Oscar Turriago Murillo.” |
| “2024-10-28” |
# Cargar librerías necesarias
required_packages <- c("readr", "dplyr", "ggplot2", "corrplot", "Hmisc",
"tidyr", "scales", "GGally", "car")
for(pkg in required_packages) {
if (!require(pkg, character.only = TRUE)) install.packages(pkg)
library(pkg, character.only = TRUE)
}
# Cargar datos
datos <- read.csv("TURISMO.csv", sep = "|")
# Preparación inicial
data_inicial <- datos %>%
filter(P7570 == 1) %>%
filter(P7573S2 %in% c(11001, 47001, 05001, 13001, 08001))
# Crear dataframe de análisis con variables relevantes
df_analisis <- data_inicial %>%
select(
vlr_total = P7578, # Valor total gastado
duracion = P7571S2A1, # Duración del viaje
num_personas = P7576S1, # Número de personas
gasto_alojamiento = P7577S1, # Gasto en alojamiento
gasto_transporte = P7577S2, # Gasto en transporte
gasto_alimentos = P7577S3, # Gasto en alimentos
gasto_actividades = P7577S6, # Gasto en actividades
ciudad = P7573S2 # Ciudad destino
) %>%
mutate(
ciudad = factor(ciudad,
levels = c(11001, 47001, 05001, 13001, 08001),
labels = c("Bogotá", "Santa Marta", "Medellín", "Cartagena", "Barranquilla")
)
) %>%
filter_all(all_vars(!is.na(.))) # Eliminar filas con NA
# Variables numéricas para correlación
vars_numericas <- df_analisis %>%
select(-ciudad) %>%
names()
# Matriz de correlación
matriz_cor <- df_analisis %>%
select(all_of(vars_numericas)) %>%
cor(method = "pearson")
# Visualización de correlaciones
corrplot(matriz_cor,
method = "color",
type = "upper",
addCoef.col = "black",
tl.col = "black",
tl.srt = 45,
diag = FALSE,
title = "Matriz de Correlación - Variables Turísticas",
mar = c(0,0,2,0))
# Modelo de regresión múltiple
modelo_gasto <- lm(vlr_total ~ duracion + num_personas + gasto_alojamiento +
gasto_transporte + gasto_alimentos, data = df_analisis)
# Resumen del modelo
summary(modelo_gasto)
##
## Call:
## lm(formula = vlr_total ~ duracion + num_personas + gasto_alojamiento +
## gasto_transporte + gasto_alimentos, data = df_analisis)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2742296 -1417258 -253736 330698 6184785
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5673750 3267355 1.736 0.0971 .
## duracion 487074 1392328 0.350 0.7300
## num_personas -338522 323101 -1.048 0.3067
## gasto_alojamiento -2919302 2561368 -1.140 0.2672
## gasto_transporte 281516 1261520 0.223 0.8256
## gasto_alimentos -15215 2624002 -0.006 0.9954
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2441000 on 21 degrees of freedom
## Multiple R-squared: 0.1142, Adjusted R-squared: -0.09672
## F-statistic: 0.5414 on 5 and 21 DF, p-value: 0.7428
# Visualización de diagnósticos
par(mfrow = c(2,2))
plot(modelo_gasto)
# Gasto total vs duración por ciudad
ggplot(df_analisis, aes(x = duracion, y = vlr_total, color = ciudad)) +
geom_point(alpha = 0.6) +
geom_smooth(method = "lm", se = TRUE) +
scale_y_continuous(labels = scales::comma) +
theme_minimal() +
labs(
title = "Relación entre Duración del Viaje y Gasto Total",
x = "Duración (días)",
y = "Gasto Total (COP)",
color = "Ciudad"
)
# Gasto total vs número de personas por ciudad
ggplot(df_analisis, aes(x = num_personas, y = vlr_total, color = ciudad)) +
geom_point(alpha = 0.6) +
geom_smooth(method = "lm", se = TRUE) +
scale_y_continuous(labels = scales::comma) +
theme_minimal() +
labs(
title = "Relación entre Número de Personas y Gasto Total",
x = "Número de Personas",
y = "Gasto Total (COP)",
color = "Ciudad"
)
# Preparar datos para visualización de componentes de gasto
datos_largo <- df_analisis %>%
select(ciudad, gasto_alojamiento, gasto_transporte, gasto_alimentos, gasto_actividades) %>%
pivot_longer(
cols = starts_with("gasto"),
names_to = "tipo_gasto",
values_to = "monto"
)
# Visualizar componentes de gasto por ciudad
ggplot(datos_largo, aes(x = ciudad, y = monto, fill = tipo_gasto)) +
geom_boxplot() +
scale_y_continuous(labels = scales::comma) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(
title = "Distribución de Componentes de Gasto por Ciudad",
x = "Ciudad",
y = "Monto (COP)",
fill = "Tipo de Gasto"
)
Este análisis proporciona una base sólida para la toma de decisiones estratégicas en el sector turístico, permitiendo una mejor adaptación a las necesidades del mercado y una mayor competitividad.