library("devtools")
## Loading required package: usethis
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("oilabs")
library("tidyverse")
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.5
## ✔ ggplot2   3.5.1     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library("RColorBrewer") 
library("gridExtra")  
## 
## Attaching package: 'gridExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     combine
require("knitr")
## Loading required package: knitr
library("funModeling")
## Loading required package: Hmisc
## 
## Attaching package: 'Hmisc'
## 
## The following objects are masked from 'package:dplyr':
## 
##     src, summarize
## 
## The following objects are masked from 'package:base':
## 
##     format.pval, units
## 
## funModeling v.1.9.5 :)
## Examples and tutorials at livebook.datascienceheroes.com
##  / Now in Spanish: librovivodecienciadedatos.ai
library("nortest") 
library("readxl")
require(car)
## Loading required package: car
## Loading required package: carData
## 
## Attaching package: 'car'
## 
## The following object is masked from 'package:purrr':
## 
##     some
## 
## The following object is masked from 'package:dplyr':
## 
##     recode
install.packages("devtools")
## Warning: package 'devtools' is in use and will not be installed
install.packages("funModeling")
## Warning: package 'funModeling' is in use and will not be installed
### **1. Introducción 


Base1 <- read_excel("W12513-XLS-ENG.xlsx",sheet="Base1")
attach(Base1)
glimpse(Base1)
## Rows: 274
## Columns: 9
## $ ID       <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18…
## $ age      <dbl> 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 2…
## $ sex      <dbl> 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 1, 2…
## $ gmat_tot <dbl> 620, 610, 670, 570, 710, 640, 610, 650, 630, 680, 740, 610, 7…
## $ gmat_qpc <dbl> 77, 90, 99, 56, 93, 82, 89, 88, 79, 99, 99, 75, 95, 97, 84, 6…
## $ gmat_vpc <dbl> 87, 71, 78, 81, 98, 89, 74, 89, 91, 81, 98, 87, 95, 97, 93, 9…
## $ gmat_tpc <dbl> 87, 87, 95, 75, 98, 91, 87, 92, 89, 96, 99, 86, 98, 99, 94, 9…
## $ s_avg    <dbl> 3.40, 3.50, 3.30, 3.30, 3.60, 3.90, 3.40, 3.30, 3.30, 3.45, 3…
## $ f_avg    <dbl> 3.00, 4.00, 3.25, 2.67, 3.75, 3.75, 3.50, 3.75, 3.25, 3.67, 4…
Base2 <- read_excel("W12513-XLS-ENG.xlsx",sheet="Base2") 
attach(Base2)
## The following object is masked from Base1:
## 
##     ID
glimpse(Base2)
## Rows: 274
## Columns: 6
## $ ID       <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18…
## $ quarter  <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ work_yrs <dbl> 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 4, 2, 4, 3, 2, 4, 4…
## $ frstlang <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1…
## $ salary   <dbl> 0, 0, 0, 0, 999, 0, 0, 0, 999, 998, 998, 998, 998, 998, 998, …
## $ satis    <dbl> 7, 6, 6, 7, 5, 6, 5, 6, 4, 998, 998, 998, 998, 998, 998, 998,…
#Unión de bases

Base<-inner_join(Base1,Base2, by = "ID") %>%glimpse()
## Rows: 274
## Columns: 14
## $ ID       <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18…
## $ age      <dbl> 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 2…
## $ sex      <dbl> 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 1, 2…
## $ gmat_tot <dbl> 620, 610, 670, 570, 710, 640, 610, 650, 630, 680, 740, 610, 7…
## $ gmat_qpc <dbl> 77, 90, 99, 56, 93, 82, 89, 88, 79, 99, 99, 75, 95, 97, 84, 6…
## $ gmat_vpc <dbl> 87, 71, 78, 81, 98, 89, 74, 89, 91, 81, 98, 87, 95, 97, 93, 9…
## $ gmat_tpc <dbl> 87, 87, 95, 75, 98, 91, 87, 92, 89, 96, 99, 86, 98, 99, 94, 9…
## $ s_avg    <dbl> 3.40, 3.50, 3.30, 3.30, 3.60, 3.90, 3.40, 3.30, 3.30, 3.45, 3…
## $ f_avg    <dbl> 3.00, 4.00, 3.25, 2.67, 3.75, 3.75, 3.50, 3.75, 3.25, 3.67, 4…
## $ quarter  <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ work_yrs <dbl> 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 4, 2, 4, 3, 2, 4, 4…
## $ frstlang <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1…
## $ salary   <dbl> 0, 0, 0, 0, 999, 0, 0, 0, 999, 998, 998, 998, 998, 998, 998, …
## $ satis    <dbl> 7, 6, 6, 7, 5, 6, 5, 6, 4, 998, 998, 998, 998, 998, 998, 998,…
#Cambio de nombre de las variables a español

names(Base)<-c("ID","Edad","Sexo","GMAT_Total","Perc_Cuant_GMAT",
               "Perc_Verbal_GMAT","Perc_Gral_GMAT","Prom_Primavera",
               "Prom_Otoño","QRanking","Exp_laboral","Lengua_materna",
               "Salario_Inicial","Grado_Satisfacción")

#Se aplica la funcion tibble para poder hacer un análisis de los datos de tidyverse
tibble(Base)
## # A tibble: 274 × 14
##       ID  Edad  Sexo GMAT_Total Perc_Cuant_GMAT Perc_Verbal_GMAT Perc_Gral_GMAT
##    <dbl> <dbl> <dbl>      <dbl>           <dbl>            <dbl>          <dbl>
##  1     1    23     2        620              77               87             87
##  2     2    24     1        610              90               71             87
##  3     3    24     1        670              99               78             95
##  4     4    24     1        570              56               81             75
##  5     5    24     2        710              93               98             98
##  6     6    24     1        640              82               89             91
##  7     7    25     1        610              89               74             87
##  8     8    25     2        650              88               89             92
##  9     9    25     1        630              79               91             89
## 10    10    25     1        680              99               81             96
## # ℹ 264 more rows
## # ℹ 7 more variables: Prom_Primavera <dbl>, Prom_Otoño <dbl>, QRanking <dbl>,
## #   Exp_laboral <dbl>, Lengua_materna <dbl>, Salario_Inicial <dbl>,
## #   Grado_Satisfacción <dbl>
glimpse(Base)
## Rows: 274
## Columns: 14
## $ ID                 <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, …
## $ Edad               <dbl> 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26,…
## $ Sexo               <dbl> 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, …
## $ GMAT_Total         <dbl> 620, 610, 670, 570, 710, 640, 610, 650, 630, 680, 7…
## $ Perc_Cuant_GMAT    <dbl> 77, 90, 99, 56, 93, 82, 89, 88, 79, 99, 99, 75, 95,…
## $ Perc_Verbal_GMAT   <dbl> 87, 71, 78, 81, 98, 89, 74, 89, 91, 81, 98, 87, 95,…
## $ Perc_Gral_GMAT     <dbl> 87, 87, 95, 75, 98, 91, 87, 92, 89, 96, 99, 86, 98,…
## $ Prom_Primavera     <dbl> 3.40, 3.50, 3.30, 3.30, 3.60, 3.90, 3.40, 3.30, 3.3…
## $ Prom_Otoño         <dbl> 3.00, 4.00, 3.25, 2.67, 3.75, 3.75, 3.50, 3.75, 3.2…
## $ QRanking           <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Exp_laboral        <dbl> 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 4, 2, 4, …
## $ Lengua_materna     <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Salario_Inicial    <dbl> 0, 0, 0, 0, 999, 0, 0, 0, 999, 998, 998, 998, 998, …
## $ Grado_Satisfacción <dbl> 7, 6, 6, 7, 5, 6, 5, 6, 4, 998, 998, 998, 998, 998,…
df_status(Base)
##              variable q_zeros p_zeros q_na p_na q_inf p_inf    type unique
## 1                  ID       0    0.00    0    0     0     0 numeric    274
## 2                Edad       0    0.00    0    0     0     0 numeric     21
## 3                Sexo       0    0.00    0    0     0     0 numeric      2
## 4          GMAT_Total       0    0.00    0    0     0     0 numeric     31
## 5     Perc_Cuant_GMAT       0    0.00    0    0     0     0 numeric     48
## 6    Perc_Verbal_GMAT       0    0.00    0    0     0     0 numeric     34
## 7      Perc_Gral_GMAT       2    0.73    0    0     0     0 numeric     42
## 8      Prom_Primavera       0    0.00    0    0     0     0 numeric     36
## 9          Prom_Otoño       3    1.09    0    0     0     0 numeric     21
## 10           QRanking       0    0.00    0    0     0     0 numeric      4
## 11        Exp_laboral       3    1.09    0    0     0     0 numeric     18
## 12     Lengua_materna       0    0.00    0    0     0     0 numeric      2
## 13    Salario_Inicial      90   32.85    0    0     0     0 numeric     45
## 14 Grado_Satisfacción       0    0.00    0    0     0     0 numeric      8
summary(Base)
##        ID              Edad            Sexo         GMAT_Total   
##  Min.   :  1.00   Min.   :22.00   Min.   :1.000   Min.   :450.0  
##  1st Qu.: 69.25   1st Qu.:25.00   1st Qu.:1.000   1st Qu.:580.0  
##  Median :137.50   Median :27.00   Median :1.000   Median :620.0  
##  Mean   :137.50   Mean   :27.36   Mean   :1.248   Mean   :619.5  
##  3rd Qu.:205.75   3rd Qu.:29.00   3rd Qu.:1.000   3rd Qu.:660.0  
##  Max.   :274.00   Max.   :48.00   Max.   :2.000   Max.   :790.0  
##  Perc_Cuant_GMAT Perc_Verbal_GMAT Perc_Gral_GMAT Prom_Primavera 
##  Min.   :28.00   Min.   :16.00    Min.   : 0.0   Min.   :2.000  
##  1st Qu.:72.00   1st Qu.:71.00    1st Qu.:78.0   1st Qu.:2.708  
##  Median :83.00   Median :81.00    Median :87.0   Median :3.000  
##  Mean   :80.64   Mean   :78.32    Mean   :84.2   Mean   :3.025  
##  3rd Qu.:93.00   3rd Qu.:91.00    3rd Qu.:94.0   3rd Qu.:3.300  
##  Max.   :99.00   Max.   :99.00    Max.   :99.0   Max.   :4.000  
##    Prom_Otoño       QRanking      Exp_laboral     Lengua_materna 
##  Min.   :0.000   Min.   :1.000   Min.   : 0.000   Min.   :1.000  
##  1st Qu.:2.750   1st Qu.:1.250   1st Qu.: 2.000   1st Qu.:1.000  
##  Median :3.000   Median :2.000   Median : 3.000   Median :1.000  
##  Mean   :3.062   Mean   :2.478   Mean   : 3.872   Mean   :1.117  
##  3rd Qu.:3.250   3rd Qu.:3.000   3rd Qu.: 4.000   3rd Qu.:1.000  
##  Max.   :4.000   Max.   :4.000   Max.   :22.000   Max.   :2.000  
##  Salario_Inicial  Grado_Satisfacción
##  Min.   :     0   Min.   :  1.0     
##  1st Qu.:     0   1st Qu.:  5.0     
##  Median :   999   Median :  6.0     
##  Mean   : 39026   Mean   :172.2     
##  3rd Qu.: 97000   3rd Qu.:  7.0     
##  Max.   :220000   Max.   :998.0
#¿Existe diferencia significativa en cuánto puede esperar ganar un estudiante, por la experiencia laboral?
BaseF<-Base%>%
  filter(Salario_Inicial!=998 & Salario_Inicial!=999)

BaseF <- BaseF %>%
  mutate(
    CAT_Salario = case_when(
      Salario_Inicial == 998 | Salario_Inicial == 999 ~ 1,
      Salario_Inicial == 0 ~ 2,
      Salario_Inicial > 0 & Salario_Inicial <= 100000 ~ 3,
      TRUE ~ 4
    ),
    CAT_Salario = factor(CAT_Salario, levels = c(1, 2, 3, 4), labels = c("1. S.I.", "2. Sin salario", "3.<0 - 100k]", "4.>100k"))
  )
attach(BaseF)
## The following object is masked from Base2:
## 
##     ID
## 
## The following object is masked from Base1:
## 
##     ID
BaseF %>%
  group_by(CAT_Salario) %>%
  summarise(
    Mínimo = min(Salario_Inicial, na.rm = TRUE),
    Máximo = max(Salario_Inicial, na.rm = TRUE),
    Promedio = mean(Salario_Inicial, na.rm = TRUE),
    Mediana = median(Salario_Inicial, na.rm = TRUE),
    SD = sd(Salario_Inicial, na.rm = TRUE),
    Ngraduados = n(),
    Pgraduados = n()/nrow(Base),    
    .groups = "drop"
  )
## # A tibble: 3 × 8
##   CAT_Salario    Mínimo Máximo Promedio Mediana     SD Ngraduados Pgraduados
##   <fct>           <dbl>  <dbl>    <dbl>   <dbl>  <dbl>      <int>      <dbl>
## 1 2. Sin salario      0      0       0        0     0          90      0.328
## 2 3.<0 - 100k]    64000 100000   93332.   95000  7063.         55      0.201
## 3 4.>100k        100400 220000  114144.  107150 19985.         48      0.175
mean(Salario_Inicial)
## [1] 54985.32
median(Salario_Inicial)
## [1] 85000
sd(Salario_Inicial)
## [1] 53152.39
BaseF %>% 
  group_by(Exp_laboral) %>% 
  summarise(Mínimo=min(Salario_Inicial) , 
            Máximo=max(Salario_Inicial),
            Promedio=mean(Salario_Inicial),
            Mediana=median(Salario_Inicial),
            SD=sd(Salario_Inicial),
            Rango=max(Salario_Inicial)-min(Salario_Inicial),
            Ngraduados = n(),
            Pgraduados = n()/nrow(BaseF))
## # A tibble: 18 × 9
##    Exp_laboral Mínimo Máximo Promedio Mediana     SD  Rango Ngraduados
##          <dbl>  <dbl>  <dbl>    <dbl>   <dbl>  <dbl>  <dbl>      <int>
##  1           0      0  95000   47500    47500 67175.  95000          2
##  2           1      0 162000   41413.       0 54632. 162000         20
##  3           2      0 145800   61860    92000 48390. 145800         60
##  4           3      0 126710   60992.   88500 51184. 126710         35
##  5           4      0 130000   58000    94500 54408. 130000         20
##  6           5      0 120000   38000        0 51620. 120000         19
##  7           6      0 112000   82389.  105000 46845. 112000          9
##  8           7      0  98000   16333.       0 40008.  98000          6
##  9           8      0 120000   70017.   97050 54940. 120000          6
## 10           9      0      0       0        0    NA       0          1
## 11          10      0 118000   59000    59000 83439. 118000          2
## 12          11      0      0       0        0     0       0          2
## 13          12      0      0       0        0     0       0          2
## 14          13      0      0       0        0    NA       0          1
## 15          15 146000 220000  183000   183000 52326.  74000          2
## 16          16      0 112000   72333.  105000 62740. 112000          3
## 17          18      0      0       0        0    NA       0          1
## 18          22      0      0       0        0     0       0          2
## # ℹ 1 more variable: Pgraduados <dbl>
ggplot(data = BaseF,        
       aes(x =  Salario_Inicial))+
  geom_density() +        
  labs(list(x = "Salario Inicial", y = "Exp_laboral"))+
  theme(axis.title = element_text(face = "bold", colour = "#990000", size = 10), axis.text = element_text(size = 7),        
        plot.title = element_text(size = rel(1.2), colour = "blue")) 

#   Díagrama de cajas por Experiencia Laboral
ggplot(data = BaseF, aes(x = Exp_laboral, y = Salario_Inicial))+        
  geom_boxplot(aes(fill = Exp_laboral)) +         
  labs(x = "Exp_laboral", y = "Salario Inicial")  
## Warning: Continuous x aesthetic
## ℹ did you forget `aes(group = ...)`?
## Warning: The following aesthetics were dropped during statistical transformation: fill.
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
##   the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
##   variable into a factor?

#   Diagrama de barras por Experiencia Laboral
Tabla <- BaseF %>%
  select(Exp_laboral, Salario_Inicial) %>%
  mutate(Exp_laboral = as.character(Exp_laboral)) %>%
  group_by(Exp_laboral) %>%
  summarise(
    NGraduados = n(),
    Promedio = mean(Salario_Inicial, na.rm = TRUE),
    .groups = "drop"
  ) %>%
  
  # Adiciona a linha total após a desagregação
  bind_rows(data.frame(Exp_laboral = "Total", 
                       NGraduados = nrow(BaseF), 
                       Promedio = mean(BaseF$Salario_Inicial, na.rm = TRUE))) %>%
  mutate(Promedio = round(Promedio, 2))

# Verificar a tabla resultante
Tabla
## # A tibble: 19 × 3
##    Exp_laboral NGraduados Promedio
##    <chr>            <int>    <dbl>
##  1 0                    2   47500 
##  2 1                   20   41413.
##  3 10                   2   59000 
##  4 11                   2       0 
##  5 12                   2       0 
##  6 13                   1       0 
##  7 15                   2  183000 
##  8 16                   3   72333.
##  9 18                   1       0 
## 10 2                   60   61860 
## 11 22                   2       0 
## 12 3                   35   60992.
## 13 4                   20   58000 
## 14 5                   19   38000 
## 15 6                    9   82389.
## 16 7                    6   16333.
## 17 8                    6   70017.
## 18 9                    1       0 
## 19 Total              193   54985.
# Grafico

ggplot(Tabla, aes(x = Exp_laboral, y = Promedio, fill = Exp_laboral)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = Promedio), position = position_stack(vjust = 0.5), size = 3) +
  theme_minimal(base_size = 14) +
  theme(
    axis.title = element_text(face = "bold"),
    plot.title = element_text(hjust = 0.5, face = "bold"),
    aspect.ratio = 0.5
  ) +
  labs(
    title = "Salario Inicial por Experiencia laboral",
    x = NULL,
    y = "Salario Promedio"
  )

glimpse(BaseF)
## Rows: 193
## Columns: 15
## $ ID                 <dbl> 1, 2, 3, 4, 6, 7, 8, 22, 23, 24, 25, 27, 28, 29, 31…
## $ Edad               <dbl> 23, 24, 24, 24, 24, 25, 25, 27, 27, 28, 29, 31, 32,…
## $ Sexo               <dbl> 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, …
## $ GMAT_Total         <dbl> 620, 610, 670, 570, 640, 610, 650, 740, 750, 540, 5…
## $ Perc_Cuant_GMAT    <dbl> 77, 90, 99, 56, 82, 89, 88, 99, 99, 75, 56, 60, 99,…
## $ Perc_Verbal_GMAT   <dbl> 87, 71, 78, 81, 89, 74, 89, 96, 98, 50, 87, 78, 99,…
## $ Perc_Gral_GMAT     <dbl> 87, 87, 95, 75, 91, 87, 92, 99, 99, 65, 78, 72, 99,…
## $ Prom_Primavera     <dbl> 3.40, 3.50, 3.30, 3.30, 3.90, 3.40, 3.30, 3.50, 3.4…
## $ Prom_Otoño         <dbl> 3.00, 4.00, 3.25, 2.67, 3.75, 3.50, 3.75, 3.50, 3.5…
## $ QRanking           <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Exp_laboral        <dbl> 2, 2, 2, 1, 2, 2, 2, 3, 1, 5, 3, 10, 5, 7, 7, 9, 13…
## $ Lengua_materna     <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Salario_Inicial    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ Grado_Satisfacción <dbl> 7, 6, 6, 7, 6, 5, 6, 6, 5, 5, 5, 7, 5, 6, 6, 6, 5, …
## $ CAT_Salario        <fct> 2. Sin salario, 2. Sin salario, 2. Sin salario, 2. …
#quintiles
BaseF1<-BaseF%>%
  mutate(R_Exp_Laboral=ntile(Exp_laboral,5))

BaseF1%>%
  group_by(R_Exp_Laboral)%>%
  summarise(min_Exp_Laboral=min(Exp_laboral),
            max_Exp_Laboral=max(Exp_laboral),
            Ngraduados=n())
## # A tibble: 5 × 4
##   R_Exp_Laboral min_Exp_Laboral max_Exp_Laboral Ngraduados
##           <int>           <dbl>           <dbl>      <int>
## 1             1               0               2         39
## 2             2               2               2         39
## 3             3               2               3         39
## 4             4               4               5         38
## 5             5               5              22         38
BaseF1$R_Exp_Laboral <- as.factor(BaseF1$R_Exp_Laboral)
levels(BaseF1$R_Exp_Laboral) <- c("[0,2)","[2,3)","[3,5)","[5,16)",">16")
attach(BaseF1)
## The following objects are masked from BaseF:
## 
##     CAT_Salario, Edad, Exp_laboral, GMAT_Total, Grado_Satisfacción, ID,
##     Lengua_materna, Perc_Cuant_GMAT, Perc_Gral_GMAT, Perc_Verbal_GMAT,
##     Prom_Otoño, Prom_Primavera, QRanking, Salario_Inicial, Sexo
## 
## The following object is masked from Base2:
## 
##     ID
## 
## The following object is masked from Base1:
## 
##     ID
glimpse(BaseF1)
## Rows: 193
## Columns: 16
## $ ID                 <dbl> 1, 2, 3, 4, 6, 7, 8, 22, 23, 24, 25, 27, 28, 29, 31…
## $ Edad               <dbl> 23, 24, 24, 24, 24, 25, 25, 27, 27, 28, 29, 31, 32,…
## $ Sexo               <dbl> 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, …
## $ GMAT_Total         <dbl> 620, 610, 670, 570, 640, 610, 650, 740, 750, 540, 5…
## $ Perc_Cuant_GMAT    <dbl> 77, 90, 99, 56, 82, 89, 88, 99, 99, 75, 56, 60, 99,…
## $ Perc_Verbal_GMAT   <dbl> 87, 71, 78, 81, 89, 74, 89, 96, 98, 50, 87, 78, 99,…
## $ Perc_Gral_GMAT     <dbl> 87, 87, 95, 75, 91, 87, 92, 99, 99, 65, 78, 72, 99,…
## $ Prom_Primavera     <dbl> 3.40, 3.50, 3.30, 3.30, 3.90, 3.40, 3.30, 3.50, 3.4…
## $ Prom_Otoño         <dbl> 3.00, 4.00, 3.25, 2.67, 3.75, 3.50, 3.75, 3.50, 3.5…
## $ QRanking           <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Exp_laboral        <dbl> 2, 2, 2, 1, 2, 2, 2, 3, 1, 5, 3, 10, 5, 7, 7, 9, 13…
## $ Lengua_materna     <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ Salario_Inicial    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ Grado_Satisfacción <dbl> 7, 6, 6, 7, 6, 5, 6, 6, 5, 5, 5, 7, 5, 6, 6, 6, 5, …
## $ CAT_Salario        <fct> 2. Sin salario, 2. Sin salario, 2. Sin salario, 2. …
## $ R_Exp_Laboral      <fct> "[0,2)", "[0,2)", "[0,2)", "[0,2)", "[0,2)", "[0,2)…
# Prueba de normalidad
by(data = BaseF1,INDICES = BaseF1$R_Exp_Laboral,FUN = function(x){ lillie.test(x$Salario_Inicial)})
## BaseF1$R_Exp_Laboral: [0,2)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x$Salario_Inicial
## D = 0.37746, p-value = 1.199e-15
## 
## ------------------------------------------------------------ 
## BaseF1$R_Exp_Laboral: [2,3)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x$Salario_Inicial
## D = 0.29878, p-value = 1.539e-09
## 
## ------------------------------------------------------------ 
## BaseF1$R_Exp_Laboral: [3,5)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x$Salario_Inicial
## D = 0.29611, p-value = 2.328e-09
## 
## ------------------------------------------------------------ 
## BaseF1$R_Exp_Laboral: [5,16)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x$Salario_Inicial
## D = 0.36313, p-value = 4.73e-14
## 
## ------------------------------------------------------------ 
## BaseF1$R_Exp_Laboral: >16
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x$Salario_Inicial
## D = 0.33837, p-value = 4.229e-12
fligner.test(Salario_Inicial ~ R_Exp_Laboral,BaseF1)
## 
##  Fligner-Killeen test of homogeneity of variances
## 
## data:  Salario_Inicial by R_Exp_Laboral
## Fligner-Killeen:med chi-squared = 3.8503, df = 4, p-value = 0.4266
leveneTest(Salario_Inicial ~ R_Exp_Laboral,BaseF1,center = "median")
## Levene's Test for Homogeneity of Variance (center = "median")
##        Df F value Pr(>F)
## group   4  0.8187 0.5147
##       188
kruskal.test(Salario_Inicial ~ R_Exp_Laboral, data = BaseF1)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Salario_Inicial by R_Exp_Laboral
## Kruskal-Wallis chi-squared = 6.7195, df = 4, p-value = 0.1515
#Pvalue<0.05
#Existe diferencia significativa en las medianas de por lo menos dos grupos.
#Comparaciones múltiples
pairwise_tests <- pairwise.wilcox.test(BaseF1$Salario_Inicial, BaseF$R_Exp_Laboral, 
                                       p.adjust.method = "bonf", paired = FALSE)
## Warning: Unknown or uninitialised column: `R_Exp_Laboral`.
# Extraer los p-valores ajustados
adjusted_p_values <- pairwise_tests$p.value

# Imprimir los resultados
adjusted_p_values
## <0 x 0 matrix>