El presente informe muestra los resultados obtenidos a partir de una encuesta aplicada a los clientes que ingresan al centro comercial San Luis, con el objetivo de evaluar la calidad del servicio en Supercines.
# Ver estructura
str(datos)
## tibble [390 × 30] (S3: tbl_df/tbl/data.frame)
## $ Marcatemporal : Date[1:390], format: "2026-01-04" "2026-01-04" ...
## $ TANGIBILIDAD¿LasinstalacionesdeSupercinesseencuentranlimpiasybi: num [1:390] 3 5 4 3 3 5 5 5 2 4 ...
## ..- attr(*, "label")= chr "TANGIBILIDAD [¿Las instalaciones de Supercines se encuentran limpias y bien mantenidas? (libre de basura, polvos)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ TANGIBILIDAD¿Laseñaléticadentroyfueradelcineesclarayfácildec : num [1:390] 4 5 5 4 5 5 5 5 4 4 ...
## ..- attr(*, "label")= chr "TANGIBILIDAD [¿La señalética dentro y fuera del cine es clara y fácil de comprender?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ TANGIBILIDAD¿Lailuminaciónentodaslasáreasesadecuadailuminaci : num [1:390] 4 5 5 5 5 5 5 5 4 5 ...
## ..- attr(*, "label")= chr "TANGIBILIDAD [¿La iluminación en todas las áreas es adecuada? (iluminación completa sin luces parpadeantes)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ TANGIBILIDAD¿Elmobiliariolassalasylosservicioshigiénicosestán : num [1:390] 3 5 3 3 4 4 2 3 3 4 ...
## ..- attr(*, "label")= chr "TANGIBILIDAD [¿El mobiliario, las salas y los servicios higiénicos están en buen estado? (ausencia de basura, s"| __truncated__
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ TANGIBILIDAD¿Elpersonalluceuniformelimpioypresentablesinmanchas: num [1:390] 4 5 5 4 4 4 4 5 4 5 ...
## ..- attr(*, "label")= chr "TANGIBILIDAD [¿El personal luce uniforme limpio y presentable? (sin manchas, arrugas o desgaste)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ EMPATÍA¿Elpersonallosaludadeformacordialaliniciarlaatenciónbu : num [1:390] 4 3 4 5 4 5 4 5 4 5 ...
## ..- attr(*, "label")= chr "EMPATÍA [¿El personal lo saluda de forma cordial al iniciar la atención? (buenos días, tardes, noches)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ EMPATÍA¿Elpersonalmuestraamabilidadydisposiciónparaayudarmant : num [1:390] 4 3 5 5 4 5 2 5 4 5 ...
## ..- attr(*, "label")= chr "EMPATÍA [¿El personal muestra amabilidad y disposición para ayudar? (mantiene contacto visual, sonríe, tono de voz suave)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ EMPATÍA¿Elpersonalsecomunicaconclaridadyrespetosaludamencionai : num [1:390] 4 3 4 5 4 5 2 5 4 5 ...
## ..- attr(*, "label")= chr "EMPATÍA [¿El personal se comunica con claridad y respeto? (saluda, menciona indicaciones sin tartamudear)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ EMPATÍA¿Laatenciónrecibidasesientepersonalizada : num [1:390] 3 3 3 3 4 5 2 4 2 4 ...
## ..- attr(*, "label")= chr "EMPATÍA [¿La atención recibida se siente personalizada?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ EMPATÍA¿Elpersonallehacesentirconfianzaybuentratosonríemantie : num [1:390] 3 3 5 4 4 4 3 4 4 4 ...
## ..- attr(*, "label")= chr "EMPATÍA [¿El personal le hace sentir confianza y buen trato? (sonríe, mantiene contacto visual)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ CAPACIDADDERESPUESTA¿Elpersonalloatiendedemanerarápidaalllegar : num [1:390] 4 3 5 5 2 5 3 4 2 4 ...
## ..- attr(*, "label")= chr "CAPACIDAD DE RESPUESTA [¿El personal lo atiende de manera rápida al llegar? (1 min)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ CAPACIDADDERESPUESTA¿Lavalidacióndelboletoeságil : num [1:390] 5 4 5 5 4 5 4 5 4 5 ...
## ..- attr(*, "label")= chr "CAPACIDAD DE RESPUESTA [¿La validación del boleto es ágil?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ CAPACIDADDERESPUESTA¿Eltiempodeatenciónentaquillaysnacksesadec : num [1:390] 3 5 5 4 4 4 2 2 2 3 ...
## ..- attr(*, "label")= chr "CAPACIDAD DE RESPUESTA [¿El tiempo de atención en taquilla y snacks es adecuado? (filas cortas, sin tiempos de "| __truncated__
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ CAPACIDADDERESPUESTA¿Elpersonalrespondeoportunamenteanteproblem: num [1:390] 3 4 4 5 5 2 2 4 3 3 ...
## ..- attr(*, "label")= chr "CAPACIDAD DE RESPUESTA [¿El personal responde oportunamente ante problemas o reclamos?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ CAPACIDADDERESPUESTA¿Elpersonalestádisponiblecuandonecesitaasi : num [1:390] 4 5 5 5 5 3 3 4 3 5 ...
## ..- attr(*, "label")= chr "CAPACIDAD DE RESPUESTA [¿El personal está disponible cuando necesita asistencia?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ SEGURIDAD¿SesientesegurodentrodeSupercinesdurantesuvisita : num [1:390] 5 3 5 5 5 5 4 5 5 5 ...
## ..- attr(*, "label")= chr "SEGURIDAD [¿Se siente seguro dentro de Supercines durante su visita?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ SEGURIDAD¿Lapresenciadeguardiasycámarasdevigilanciatransmiteco : num [1:390] 3 5 4 4 5 4 3 4 5 5 ...
## ..- attr(*, "label")= chr "SEGURIDAD [¿La presencia de guardias y cámaras de vigilancia transmite confianza?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ SEGURIDAD¿Lassalidasdeemergenciaestánseñalizadasyaccesibles : num [1:390] 5 4 5 5 4 5 4 4 5 5 ...
## ..- attr(*, "label")= chr "SEGURIDAD [¿Las salidas de emergencia están señalizadas y accesibles?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ SEGURIDAD¿Lospasillosestánlibresdeobstáculosypermitencircular : num [1:390] 5 4 5 5 5 5 5 4 4 4 ...
## ..- attr(*, "label")= chr "SEGURIDAD [¿Los pasillos están libres de obstáculos y permiten circular con seguridad?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ SEGURIDAD¿Losequiposymedidasdeseguridadsonvisiblesyadecuadosext: num [1:390] 5 5 5 5 5 5 5 4 5 4 ...
## ..- attr(*, "label")= chr "SEGURIDAD [¿Los equipos y medidas de seguridad son visibles y adecuados? (extintores, detectores, alarmas)]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ FIABILIDAD¿Elpersonaldemuestraconocerloshorariospromocionesypro: num [1:390] 5 3 4 5 4 5 4 4 5 5 ...
## ..- attr(*, "label")= chr "FIABILIDAD [¿El personal demuestra conocer los horarios, promociones y procesos del servicio?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ FIABILIDAD¿Losboletossonvalidadoscorrectamentesalafechaasiento : num [1:390] 5 4 2 3 2 4 5 3 5 5 ...
## ..- attr(*, "label")= chr "FIABILIDAD [¿Los boletos son validados correctamente (sala, fecha, asiento)?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ FIABILIDAD¿Losvendedoresdesnacksconocenconclaridadlosproductosy: num [1:390] 5 5 5 5 4 4 4 3 4 5 ...
## ..- attr(*, "label")= chr "FIABILIDAD [¿Los vendedores de snacks conocen con claridad los productos y combos disponibles?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ FIABILIDAD¿Elpersonaldesalaconocelosprotocolosdeseguridadyevacu: num [1:390] 5 5 4 4 5 2 5 4 4 3 ...
## ..- attr(*, "label")= chr "FIABILIDAD [¿El personal de sala conoce los protocolos de seguridad y evacuación?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ FIABILIDAD¿Elpersonaldemuestraconoceradecuadamentelosprocedimie: num [1:390] 5 5 3 5 4 4 4 4 4 5 ...
## ..- attr(*, "label")= chr "FIABILIDAD [¿El personal demuestra conocer adecuadamente los procedimientos y servicios que ofrece Supercines? "| __truncated__
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ ¿Eltiempodeesperaenlafilafueadecuadoparaelserviciorecibido : num [1:390] 4 5 4 4 4 4 5 4 3 5 ...
## ..- attr(*, "label")= chr " [¿El tiempo de espera en la fila fue adecuado para el servicio recibido?]"
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 12
## $ limpieza : Factor w/ 5 levels "1","2","3","4",..: 3 5 4 3 3 5 5 5 2 4 ...
## $ senaletica : Factor w/ 5 levels "1","2","3","4",..: 4 5 5 4 5 5 5 5 4 4 ...
## $ iluminacion : Factor w/ 5 levels "1","2","3","4",..: 4 5 5 5 5 5 5 5 4 5 ...
# Ver nombres reales de columnas
colnames(datos)
## [1] "Marcatemporal"
## [2] "TANGIBILIDAD¿LasinstalacionesdeSupercinesseencuentranlimpiasybi"
## [3] "TANGIBILIDAD¿Laseñaléticadentroyfueradelcineesclarayfácildec"
## [4] "TANGIBILIDAD¿Lailuminaciónentodaslasáreasesadecuadailuminaci"
## [5] "TANGIBILIDAD¿Elmobiliariolassalasylosservicioshigiénicosestán"
## [6] "TANGIBILIDAD¿Elpersonalluceuniformelimpioypresentablesinmanchas"
## [7] "EMPATÍA¿Elpersonallosaludadeformacordialaliniciarlaatenciónbu"
## [8] "EMPATÍA¿Elpersonalmuestraamabilidadydisposiciónparaayudarmant"
## [9] "EMPATÍA¿Elpersonalsecomunicaconclaridadyrespetosaludamencionai"
## [10] "EMPATÍA¿Laatenciónrecibidasesientepersonalizada"
## [11] "EMPATÍA¿Elpersonallehacesentirconfianzaybuentratosonríemantie"
## [12] "CAPACIDADDERESPUESTA¿Elpersonalloatiendedemanerarápidaalllegar"
## [13] "CAPACIDADDERESPUESTA¿Lavalidacióndelboletoeságil"
## [14] "CAPACIDADDERESPUESTA¿Eltiempodeatenciónentaquillaysnacksesadec"
## [15] "CAPACIDADDERESPUESTA¿Elpersonalrespondeoportunamenteanteproblem"
## [16] "CAPACIDADDERESPUESTA¿Elpersonalestádisponiblecuandonecesitaasi"
## [17] "SEGURIDAD¿SesientesegurodentrodeSupercinesdurantesuvisita"
## [18] "SEGURIDAD¿Lapresenciadeguardiasycámarasdevigilanciatransmiteco"
## [19] "SEGURIDAD¿Lassalidasdeemergenciaestánseñalizadasyaccesibles"
## [20] "SEGURIDAD¿Lospasillosestánlibresdeobstáculosypermitencircular"
## [21] "SEGURIDAD¿Losequiposymedidasdeseguridadsonvisiblesyadecuadosext"
## [22] "FIABILIDAD¿Elpersonaldemuestraconocerloshorariospromocionesypro"
## [23] "FIABILIDAD¿Losboletossonvalidadoscorrectamentesalafechaasiento"
## [24] "FIABILIDAD¿Losvendedoresdesnacksconocenconclaridadlosproductosy"
## [25] "FIABILIDAD¿Elpersonaldesalaconocelosprotocolosdeseguridadyevacu"
## [26] "FIABILIDAD¿Elpersonaldemuestraconoceradecuadamentelosprocedimie"
## [27] "¿Eltiempodeesperaenlafilafueadecuadoparaelserviciorecibido"
## [28] "limpieza"
## [29] "senaletica"
## [30] "iluminacion"
# Identificar columnas por palabras clave
col_limpieza <- grep("limpi", colnames(datos), ignore.case = TRUE, value = TRUE)
col_senaletica <- grep("señal|senal", colnames(datos), ignore.case = TRUE, value = TRUE)
col_iluminacion<- grep("ilumin", colnames(datos), ignore.case = TRUE, value = TRUE)
# Crear variables cortas y seguras
datos <- datos %>%
mutate(
limpieza = .data[[col_limpieza[1]]],
senaletica = .data[[col_senaletica[1]]],
iluminacion= .data[[col_iluminacion[1]]]
)
# Convertir a factor (escala Likert)
datos <- datos %>%
mutate(
limpieza = factor(limpieza, levels = 1:5),
senaletica = factor(senaletica, levels = 1:5),
iluminacion= factor(iluminacion, levels = 1:5)
)
ggplot(datos, aes(x = limpieza)) +
geom_bar(fill = "#2C7FB8") +
labs(
title = "Limpieza de las instalaciones",
x = "Nivel de satisfacción",
y = "Frecuencia"
) +
theme_minimal()
ggplot(datos, aes(x = senaletica)) +
geom_bar(fill = "#41B6C4") +
labs(
title = "Claridad de la señalética",
x = "Nivel de satisfacción",
y = "Frecuencia"
) +
theme_minimal()
ggplot(datos, aes(x = iluminacion)) +
geom_bar(fill = "#7FCDBB") +
labs(
title = "Iluminación de las áreas",
x = "Nivel de satisfacción",
y = "Frecuencia"
) +
theme_minimal()
datos %>%
count(limpieza) %>%
mutate(porcentaje = n / sum(n) * 100) %>%
ggplot(aes(x = limpieza, y = porcentaje)) +
geom_col() +
labs(
title = "Porcentaje de satisfacción – Limpieza",
x = "Nivel de satisfacción",
y = "Porcentaje (%)"
) +
theme_minimal()
### Claridad de la señalética (Porcentaje)
datos %>%
count(senaletica) %>%
mutate(porcentaje = n / sum(n) * 100) %>%
ggplot(aes(x = senaletica, y = porcentaje)) +
geom_col() +
labs(
title = "Porcentaje de satisfacción – Señalética",
x = "Nivel de satisfacción",
y = "Porcentaje (%)"
) +
theme_minimal()
### Promedio de satisfacción por aspecto
promedios <- datos %>%
summarise(
Limpieza = mean(as.numeric(as.character(limpieza)), na.rm = TRUE),
Señalética = mean(as.numeric(as.character(senaletica)), na.rm = TRUE),
Iluminación = mean(as.numeric(as.character(iluminacion)), na.rm = TRUE)
) %>%
pivot_longer(everything(), names_to = "Aspecto", values_to = "Promedio")
ggplot(promedios, aes(x = Aspecto, y = Promedio)) +
geom_col() +
labs(
title = "Promedio de satisfacción por aspecto evaluado",
x = "Aspecto",
y = "Promedio"
) +
theme_minimal()
save(datos, file = "datos_listos.RData")