ANÁLISIS EXPLORATORIO DE DATOS

# Cargar librerías
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(ggplot2)
library(RColorBrewer)
library(paletteer)
## Warning: package 'paletteer' was built under R version 4.3.2
# Cargar base de datos (encuesta)
df <- read.csv("C:\\Users\\ca\\Desktop\\R Studio\\Evidencia 2 RETO\\Encuesta_Evidencia.csv")

# Limpiar la base de datos
df$Edad <- as.integer(sub(" años", "", df$Edad))

# Entender la base de datos 
summary(df)
##     Puesto          puesto_otro          Antiguedad     Motivación       
##  Length:106         Length:106         Min.   : 1.00   Length:106        
##  Class :character   Class :character   1st Qu.: 1.00   Class :character  
##  Mode  :character   Mode  :character   Median : 9.00   Mode  :character  
##                                        Mean   :14.08                     
##                                        3rd Qu.:34.50                     
##                                        Max.   :36.00                     
##     Salario       Prestaciones   Jornada_Laboral  Herramientas  
##  Min.   :1.000   Min.   :1.000   Min.   :1.00    Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:2.000   1st Qu.:4.00    1st Qu.:3.000  
##  Median :4.000   Median :4.000   Median :5.00    Median :5.000  
##  Mean   :3.792   Mean   :3.274   Mean   :4.16    Mean   :3.877  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.00    3rd Qu.:5.000  
##  Max.   :5.000   Max.   :5.000   Max.   :5.00    Max.   :5.000  
##   Temperatura        Estrés        Transporte    Instalaciones  
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:3.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :3.000   Median :4.000   Median :5.000   Median :5.000  
##  Mean   :3.123   Mean   :3.679   Mean   :4.009   Mean   :4.311  
##  3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000   3rd Qu.:5.000  
##  Max.   :5.000   Max.   :5.000   Max.   :5.000   Max.   :5.000  
##     Rotación     Conflicto.Acoso    Satisfacción.en.el.trabajo
##  Min.   :1.000   Length:106         Length:106                
##  1st Qu.:3.000   Class :character   Class :character          
##  Median :5.000   Mode  :character   Mode  :character          
##  Mean   :4.038                                                
##  3rd Qu.:5.000                                                
##  Max.   :5.000                                                
##    Emoción               Edad          Genero          Estado.Civil      
##  Length:106         Min.   :18.00   Length:106         Length:106        
##  Class :character   1st Qu.:25.25   Class :character   Class :character  
##  Mode  :character   Median :33.50   Mode  :character   Mode  :character  
##                     Mean   :35.62                                        
##                     3rd Qu.:45.00                                        
##                     Max.   :68.00                                        
##   Municipio         Escolaridad         Dependientes  
##  Length:106         Length:106         Min.   :0.000  
##  Class :character   Class :character   1st Qu.:0.000  
##  Mode  :character   Mode  :character   Median :1.000  
##                                        Mean   :1.085  
##                                        3rd Qu.:2.000  
##                                        Max.   :3.000
str(df)
## 'data.frame':    106 obs. of  22 variables:
##  $ Puesto                    : chr  "Administrativo" "Costurera" "Ayudante general" "Ayudante general" ...
##  $ puesto_otro               : chr  "" "" "" "" ...
##  $ Antiguedad                : int  9 36 4 2 1 36 36 36 36 1 ...
##  $ Motivación                : chr  "Por el salario" "Otro" "Ubicación de la empresa" "Ubicación de la empresa" ...
##  $ Salario                   : int  5 4 2 5 3 4 2 5 4 5 ...
##  $ Prestaciones              : int  4 4 1 4 1 5 3 4 1 4 ...
##  $ Jornada_Laboral           : int  5 5 1 5 5 5 4 5 4 5 ...
##  $ Herramientas              : int  5 4 1 5 5 5 4 5 1 5 ...
##  $ Temperatura               : int  2 3 3 4 4 2 2 4 5 1 ...
##  $ Estrés                    : int  5 2 1 5 3 4 5 4 4 5 ...
##  $ Transporte                : int  4 2 4 5 1 5 1 5 5 2 ...
##  $ Instalaciones             : int  5 4 4 5 5 4 4 5 5 5 ...
##  $ Rotación                  : int  4 5 1 4 3 5 3 5 5 5 ...
##  $ Conflicto.Acoso           : chr  "No" "No" "Si" "No" ...
##  $ Satisfacción.en.el.trabajo: chr  "cotización ante imss, fecha de pago, comer a las 3pm" "Ninguno" "mucho trabajo, estrés" "Todo bien " ...
##  $ Emoción                   : chr  "agusto, feliz" "Bien" "cómoda, no satisfecha" "Tranquila y contenta " ...
##  $ Edad                      : int  30 54 21 20 43 61 55 29 56 36 ...
##  $ Genero                    : chr  "Femenino" "Femenino" "Femenino" "Femenino" ...
##  $ Estado.Civil              : chr  "Unión libre" "Casado" "Soltero" "Casado" ...
##  $ Municipio                 : chr  "Apodaca" "Apodaca" "Apodaca" "Apodaca" ...
##  $ Escolaridad               : chr  "Licenciatura" "Primaria" "Preparatoria" "Preparatoria" ...
##  $ Dependientes              : int  0 0 0 0 0 2 1 0 0 2 ...

PALETA DE COLORES

# Paleta de colores
mi_paleta <- paletteer_c("ggthemes::Blue-Teal", 8)

BOXPLOT VARIABLES CUANTITATIVAS

boxplot(df$Edad, horizontal = TRUE,col = mi_paleta[1],main="Edad")

boxplot(df$Antiguedad, horizontal = TRUE,col = mi_paleta[2],main="Antiguedad")

boxplot(df$Dependientes, horizontal = TRUE,col = mi_paleta[3],main="No. de Dependientes Económicos")

GRAFICAS DE BARRAS VARIABLES CUALITATIVAS

# Gráfica 1: Genero
ggplot(df, aes(x = Genero, fill = Genero)) +
  geom_bar(color = "white", size = 0.5) +
  theme_minimal() +
  labs(title = "Distribución por Género",
       x = "Género",
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Gráfica 2: Estado Civil
ggplot(df, aes(x = Estado.Civil, fill = Estado.Civil)) +
  geom_bar(color = "white", size = 0.5) +
  theme_minimal() +
  labs(title = "Distribución por Estado Civil",
       x = "Estado Civil",
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)

# Gráfica 3: Municipio
ggplot(df, aes(x = Municipio, fill = Municipio)) +
  geom_bar(color = "white", size = 0.5) +
  theme_minimal() +
  labs(title = "Distribución por Municipio",
       x = "Municipio",
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)

# Gráfica 4: Escolaridad
ggplot(df, aes(x = Escolaridad, fill = Escolaridad)) +
  geom_bar(color = "white", size = 0.5) +
  theme_minimal() +
  labs(title = "Distribución por Escolaridad",
       x = "Escolaridad",
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)

# Gráfica 5: Puesto
ggplot(df, aes(x = Puesto, fill = Puesto)) +
  geom_bar() +  # Cambiado de geom_bar a geom_col
  coord_flip() +  # Intercambia los ejes
  theme_minimal() +
  labs(title = "Distribución por Puesto",
       x = NULL,
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)

# Gráfica 6: Conflicto Acoso
ggplot(df, aes(x = Conflicto.Acoso, fill = Conflicto.Acoso)) +
  geom_bar(color = "white", size = 0.5) +
  theme_minimal() +
  labs(title = "Distribución por Conflicto de Acoso",
       x = "Conflicto Acoso",
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)

# Grafico de motivación
ggplot(df, aes(x = Motivación, fill = Motivación)) +
  geom_bar() +  # Cambiado de geom_bar a geom_col
  coord_flip() +  # Intercambia los ejes
  theme_minimal() +
  labs(title = "Distribución por Motivación",
       x = NULL,
       y = "Frecuencia") +
  scale_fill_manual(values = mi_paleta)

LS0tDQp0aXRsZTogIkVEQSBGT1JNIg0KYXV0aG9yOiAiQXV0aG9yOiBFcmlrYSBJc2VsYSBSb2RyaWd1ZXogR29uemFsZXoiDQpkYXRlOiAiRGF0ZTogMjAyMy0xMS0xNiINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIHRoZW1lOiAiam91cm5hbCINCiAgICBoaWdobGlnaHQ6ICJkZWZhdWx0Ig0KLS0tDQoNCiMgQU7DgUxJU0lTIEVYUExPUkFUT1JJTyBERSBEQVRPUw0KDQpgYGB7cn0NCiMgQ2FyZ2FyIGxpYnJlcsOtYXMNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KFJDb2xvckJyZXdlcikNCmxpYnJhcnkocGFsZXR0ZWVyKQ0KYGBgDQoNCg0KYGBge3J9DQojIENhcmdhciBiYXNlIGRlIGRhdG9zIChlbmN1ZXN0YSkNCmRmIDwtIHJlYWQuY3N2KCJDOlxcVXNlcnNcXGNhXFxEZXNrdG9wXFxSIFN0dWRpb1xcRXZpZGVuY2lhIDIgUkVUT1xcRW5jdWVzdGFfRXZpZGVuY2lhLmNzdiIpDQoNCiMgTGltcGlhciBsYSBiYXNlIGRlIGRhdG9zDQpkZiRFZGFkIDwtIGFzLmludGVnZXIoc3ViKCIgYcOxb3MiLCAiIiwgZGYkRWRhZCkpDQoNCiMgRW50ZW5kZXIgbGEgYmFzZSBkZSBkYXRvcyANCnN1bW1hcnkoZGYpDQpzdHIoZGYpDQoNCmBgYA0KDQojIyMjIFBBTEVUQSBERSBDT0xPUkVTDQpgYGB7cn0NCiMgUGFsZXRhIGRlIGNvbG9yZXMNCm1pX3BhbGV0YSA8LSBwYWxldHRlZXJfYygiZ2d0aGVtZXM6OkJsdWUtVGVhbCIsIDgpDQpgYGANCg0KIyMjIEJPWFBMT1QgVkFSSUFCTEVTIENVQU5USVRBVElWQVMNCg0KYGBge3J9DQpib3hwbG90KGRmJEVkYWQsIGhvcml6b250YWwgPSBUUlVFLGNvbCA9IG1pX3BhbGV0YVsxXSxtYWluPSJFZGFkIikNCmJveHBsb3QoZGYkQW50aWd1ZWRhZCwgaG9yaXpvbnRhbCA9IFRSVUUsY29sID0gbWlfcGFsZXRhWzJdLG1haW49IkFudGlndWVkYWQiKQ0KYm94cGxvdChkZiREZXBlbmRpZW50ZXMsIGhvcml6b250YWwgPSBUUlVFLGNvbCA9IG1pX3BhbGV0YVszXSxtYWluPSJOby4gZGUgRGVwZW5kaWVudGVzIEVjb27Ds21pY29zIikNCmBgYA0KDQoNCiMjIEdSQUZJQ0FTIERFIEJBUlJBUyBWQVJJQUJMRVMgQ1VBTElUQVRJVkFTDQoNCmBgYHtyfQ0KIyBHcsOhZmljYSAxOiBHZW5lcm8NCmdncGxvdChkZiwgYWVzKHggPSBHZW5lcm8sIGZpbGwgPSBHZW5lcm8pKSArDQogIGdlb21fYmFyKGNvbG9yID0gIndoaXRlIiwgc2l6ZSA9IDAuNSkgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICBsYWJzKHRpdGxlID0gIkRpc3RyaWJ1Y2nDs24gcG9yIEfDqW5lcm8iLA0KICAgICAgIHggPSAiR8OpbmVybyIsDQogICAgICAgeSA9ICJGcmVjdWVuY2lhIikgKw0KICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBtaV9wYWxldGEpDQoNCiMgR3LDoWZpY2EgMjogRXN0YWRvIENpdmlsDQpnZ3Bsb3QoZGYsIGFlcyh4ID0gRXN0YWRvLkNpdmlsLCBmaWxsID0gRXN0YWRvLkNpdmlsKSkgKw0KICBnZW9tX2Jhcihjb2xvciA9ICJ3aGl0ZSIsIHNpemUgPSAwLjUpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgbGFicyh0aXRsZSA9ICJEaXN0cmlidWNpw7NuIHBvciBFc3RhZG8gQ2l2aWwiLA0KICAgICAgIHggPSAiRXN0YWRvIENpdmlsIiwNCiAgICAgICB5ID0gIkZyZWN1ZW5jaWEiKSArDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IG1pX3BhbGV0YSkNCg0KIyBHcsOhZmljYSAzOiBNdW5pY2lwaW8NCmdncGxvdChkZiwgYWVzKHggPSBNdW5pY2lwaW8sIGZpbGwgPSBNdW5pY2lwaW8pKSArDQogIGdlb21fYmFyKGNvbG9yID0gIndoaXRlIiwgc2l6ZSA9IDAuNSkgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICBsYWJzKHRpdGxlID0gIkRpc3RyaWJ1Y2nDs24gcG9yIE11bmljaXBpbyIsDQogICAgICAgeCA9ICJNdW5pY2lwaW8iLA0KICAgICAgIHkgPSAiRnJlY3VlbmNpYSIpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gbWlfcGFsZXRhKQ0KDQojIEdyw6FmaWNhIDQ6IEVzY29sYXJpZGFkDQpnZ3Bsb3QoZGYsIGFlcyh4ID0gRXNjb2xhcmlkYWQsIGZpbGwgPSBFc2NvbGFyaWRhZCkpICsNCiAgZ2VvbV9iYXIoY29sb3IgPSAid2hpdGUiLCBzaXplID0gMC41KSArDQogIHRoZW1lX21pbmltYWwoKSArDQogIGxhYnModGl0bGUgPSAiRGlzdHJpYnVjacOzbiBwb3IgRXNjb2xhcmlkYWQiLA0KICAgICAgIHggPSAiRXNjb2xhcmlkYWQiLA0KICAgICAgIHkgPSAiRnJlY3VlbmNpYSIpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gbWlfcGFsZXRhKQ0KDQojIEdyw6FmaWNhIDU6IFB1ZXN0bw0KZ2dwbG90KGRmLCBhZXMoeCA9IFB1ZXN0bywgZmlsbCA9IFB1ZXN0bykpICsNCiAgZ2VvbV9iYXIoKSArICAjIENhbWJpYWRvIGRlIGdlb21fYmFyIGEgZ2VvbV9jb2wNCiAgY29vcmRfZmxpcCgpICsgICMgSW50ZXJjYW1iaWEgbG9zIGVqZXMNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgbGFicyh0aXRsZSA9ICJEaXN0cmlidWNpw7NuIHBvciBQdWVzdG8iLA0KICAgICAgIHggPSBOVUxMLA0KICAgICAgIHkgPSAiRnJlY3VlbmNpYSIpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gbWlfcGFsZXRhKQ0KDQojIEdyw6FmaWNhIDY6IENvbmZsaWN0byBBY29zbw0KZ2dwbG90KGRmLCBhZXMoeCA9IENvbmZsaWN0by5BY29zbywgZmlsbCA9IENvbmZsaWN0by5BY29zbykpICsNCiAgZ2VvbV9iYXIoY29sb3IgPSAid2hpdGUiLCBzaXplID0gMC41KSArDQogIHRoZW1lX21pbmltYWwoKSArDQogIGxhYnModGl0bGUgPSAiRGlzdHJpYnVjacOzbiBwb3IgQ29uZmxpY3RvIGRlIEFjb3NvIiwNCiAgICAgICB4ID0gIkNvbmZsaWN0byBBY29zbyIsDQogICAgICAgeSA9ICJGcmVjdWVuY2lhIikgKw0KICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBtaV9wYWxldGEpDQpgYGANCg0KDQpgYGB7cn0NCiMgR3JhZmljbyBkZSBtb3RpdmFjacOzbg0KZ2dwbG90KGRmLCBhZXMoeCA9IE1vdGl2YWNpw7NuLCBmaWxsID0gTW90aXZhY2nDs24pKSArDQogIGdlb21fYmFyKCkgKyAgIyBDYW1iaWFkbyBkZSBnZW9tX2JhciBhIGdlb21fY29sDQogIGNvb3JkX2ZsaXAoKSArICAjIEludGVyY2FtYmlhIGxvcyBlamVzDQogIHRoZW1lX21pbmltYWwoKSArDQogIGxhYnModGl0bGUgPSAiRGlzdHJpYnVjacOzbiBwb3IgTW90aXZhY2nDs24iLA0KICAgICAgIHggPSBOVUxMLA0KICAgICAgIHkgPSAiRnJlY3VlbmNpYSIpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gbWlfcGFsZXRhKQ0KYGBgDQoNCg0K