Descargar librerias

if (!require("ggplot2")) install.packages("ggplot2", dependencies=TRUE)
## Cargando paquete requerido: ggplot2
if (!require("dplyr")) install.packages("dplyr", dependencies=TRUE)
## Cargando paquete requerido: dplyr
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Cargar las librerias necesarias

library(ggplot2)
library(dplyr)  # Asegurar que está cargado
library(magrittr)  # Asegurar compatibilidad con `%>%`

Contexualizacion

Los chatbots se han convertido en herramientas clave en diversas industrias, optimizando la comunicación y la eficiencia empresarial. Sin embargo, su adopción y satisfacción varían según factores como el nivel educativo, el sector empresarial, el tiempo de pantalla y la frecuencia de uso.

Este análisis exploratorio de datos (EDA) examina una muestra de 300 empleados de sectores como tecnología, salud, finanzas, retail y educación, con el objetivo de identificar patrones y relaciones que influyen en la percepción y uso de los chatbots en el entorno laboral

Cargar la base de datos

 data <- read.csv(file.choose())

Para cargar la base de datos usamos la funcion file choose esta sirve para escoger un archivo local

Visualizacion de clasificacion de variables

summary(data)
##     genero          nivel_educativo    sector_empresa     uso_chatbots      
##  Length:300         Length:300         Length:300         Length:300        
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##  satisfaccion_chatbots      edad       horas_pantalla   uso_chatbots_seg
##  Length:300            Min.   :14.00   Min.   : 1.612   Min.   :-29327  
##  Class :character      1st Qu.:29.00   1st Qu.: 4.922   1st Qu.:  6746  
##  Mode  :character      Median :35.00   Median : 6.262   Median : 10350  
##                        Mean   :35.01   Mean   : 6.135   Mean   : 11127  
##                        3rd Qu.:40.00   3rd Qu.: 7.383   3rd Qu.: 13735  
##                        Max.   :55.00   Max.   :11.059   Max.   :215820  
##                                        NA's   :20       NA's   :15

Como podemos ver en la visualizacion contamos con 5 variables categoricas y 3 variables numericas, tambien se puede a simple vista que el uso de chatbots por seg va a tener valores atipicos. También hay un valor mínimo de -29,327, lo cual es problemático porque el tiempo no debería ser negativo. Esto indica un posible error en los datos.

Numeros de columnas y variables

dim(data)
## [1] 300   8

Contamos 8 columnas y 300 filas

Verificacion de datos faltantes

colSums(is.na(data))
##                genero       nivel_educativo        sector_empresa 
##                     0                     0                     0 
##          uso_chatbots satisfaccion_chatbots                  edad 
##                     0                     0                     0 
##        horas_pantalla      uso_chatbots_seg 
##                    20                    15

como podemos ver tenemos 20 NA en las horas de pantalla y 15 en el uso de chatbots

Graficos boxplot

Boxplot de edad

boxplot(data$edad, horizontal=TRUE, col='lightpink', main="Boxplot de edad")

Como podemos ver en el boxplot la media se encuentra al rededor de 35, no vemos valores atipicos en este grafico

Boxplot de horas de pantalla

boxplot(data$horas_pantalla, horizontal=TRUE, col='lightgreen', main="Boxplot de Horas de Pantalla")

Vemos un minimo de 1,6 una media de 6.1 y un maximo aproximado de 11 no observamos valores atipicos en este grafico es decir, ningun valor esta excesivamente fuera del rango}

Boxplot de uso ChatBots Seg

boxplot(data$uso_chatbots_seg, horizontal=TRUE, col='lightblue', main="Boxplot de UsoChatbots Segundos")

Valores atipicos extremedamente altos 215.000 aproximadamente, tambien podemos ver que necesita una limpieza de datos debido a que cuenta con valores negativo; La mayoria de empresas usan el chatbot por tiempo moderado mientras hay pocos casos donde tienen tiempos extremadamente largos

Boxplot de uso ChatBots Seg (Sin valores extremos)

boxplot(data$uso_chatbots_seg, horizontal=TRUE, col='purple', 
        main="Boxplot de UsoChatbots Segundos (Sin Valores Extremos)", 
        outline=FALSE)  # Esto elimina los valores atípicos visualmente

Graficos

A continuacion vamos a comparar variables a ver si podemos encontrar un patron y poder llegar a alguna conclusion

Grafico de pastel Genero

Intentamos ver de quien hay mas adopcion a la tecnologia de parte de mujeres u hombres

# Calcular porcentajes
genero_tabla <- data %>%
  group_by(genero) %>%
  summarise(cantidad = n()) %>%
  mutate(porcentaje = round((cantidad / sum(cantidad)) * 100, 1))

# Crear gráfico de pastel
ggplot(genero_tabla, aes(x="", y=cantidad, fill=genero)) +
  geom_bar(stat="identity", width=1, color="white") +
  coord_polar("y", start=0) +
  geom_text(aes(label=paste0(porcentaje, "%")), 
            position=position_stack(vjust=0.5), size=5, color="black") +
  scale_fill_manual(values=c("#FF9999", "#66B3FF", "#99FF99")) +  # Colores personalizados
  theme_void() +
  labs(title="Distribución de Género en la Muestra") +
  theme(plot.title = element_text(hjust=0.5, face="bold", size=14))

Como podemos ver no hay diferencia significativa de si los hombres o mujeres tienen mas adopcion a la tecnologia

Grafico pastel educativo

# Calcular porcentajes
nivel_educativo_tabla <- data %>%
  group_by(nivel_educativo) %>%
  summarise(cantidad = n()) %>%
  mutate(porcentaje = round((cantidad / sum(cantidad)) * 100, 1))

# Crear gráfico de pastel
ggplot(nivel_educativo_tabla, aes(x="", y=cantidad, fill= nivel_educativo)) +
  geom_bar(stat="identity", width=1, color="white") +
  coord_polar("y", start=0) +
  geom_text(aes(label=paste0(porcentaje, "%")), 
            position=position_stack(vjust=0.5), size=5, color="black") +
  scale_fill_manual(values=c("#FFADAD", "#FDFFB6", "#9BF6FF")) +  # Colores personalizados
  theme_void() +
  labs(title="Distribución de Género en la Muestra") +
  theme(plot.title = element_text(hjust=0.5, face="bold", size=14))

se puede suponer que personas con menor nivel educativo adoptan mas el uso de chatbots

Grafico de barras (Satisfacción con Chatbots según el Sector Empresarial)

ggplot(data, aes(x=sector_empresa, fill=satisfaccion_chatbots)) +
  geom_bar(position="fill", color="black") +  # Agrega bordes para mejor visibilidad
  labs(title="Satisfacción con Chatbots por Sector Empresarial",
       x="Sector Empresarial",
       y="Proporción",
       fill="Satisfacción") + 
  scale_fill_brewer(palette="Set2") +  # Mejora los colores
  theme_minimal() +
  theme(plot.title = element_text(hjust=0.5, face="bold", size=14))

En la mayoría de los sectores, los empleados sienten que los chatbots cumplen su función, pero sin destacar demasiado, ya que la satisfacción media es la más común. Sin embargo, en educación y tecnología, hay una mayor cantidad de personas realmente satisfechas, lo que sugiere que en estos sectores los chatbots se integran mejor en el trabajo diario. Por otro lado, en finanzas, retail y salud, la insatisfacción es más notoria, posiblemente porque en estos ámbitos se necesita una atención más personalizada y la automatización no siempre logra cubrir esas expectativas

Boxplot de edad segun nivel de satisfaccion

ggplot(data, aes(x=satisfaccion_chatbots, y=edad, fill=satisfaccion_chatbots)) +
  geom_boxplot() +
  labs(title="Distribución de Edad según Nivel de Satisfacción con Chatbots",
       x="Nivel de Satisfacción",
       y="Edad") +
  theme_minimal() +
  scale_fill_brewer(palette="Set2")

La edad no parece ser un factor determinante en la satisfacción con los chatbots. Es decir, tanto jóvenes como personas mayores tienen opiniones variadas sobre su utilidad.

Conclusiones

  1. Errores y valores atípicos en los datos

Se identificaron errores en los datos, como valores negativos en el tiempo de uso de chatbots y valores extremadamente altos (hasta 215,000 segundos). Esto sugiere la necesidad de una limpieza de datos antes de realizar cualquier inferencia.

  1. Distribución demográfica y adopción de chatbots

No se encontraron diferencias significativas en la adopción de chatbots entre hombres y mujeres. Se observó que las personas con menor nivel educativo tienden a adoptar más el uso de chatbots, lo que podría sugerir que estas herramientas simplifican tareas que de otro modo requerirían mayor conocimiento técnico.

  1. Uso de chatbots y tiempo de pantalla

No se encontraron valores atípicos en las horas de pantalla, con un promedio de aproximadamente 6.1 horas diarias. El uso de chatbots muestra una distribución altamente sesgada, con algunos casos extremos de uso prolongado, lo que indica que en ciertos contextos los chatbots pueden ser utilizados de manera intensiva.

  1. Satisfacción con los chatbots según sector empresarial

Los sectores de tecnología y educación muestran mayores niveles de satisfacción con los chatbots, lo que indica que en estos entornos los asistentes virtuales pueden integrarse mejor con las actividades laborales. En sectores como salud, finanzas y retail, la insatisfacción es mayor, posiblemente debido a la necesidad de una atención más personalizada que los chatbots no pueden proporcionar completamente.

  1. Relación entre edad y satisfacción con chatbots

No se encontró evidencia de que la edad influya significativamente en la satisfacción con los chatbots, ya que personas de distintos grupos etarios tienen opiniones diversas sobre su utilidad.