title: “Laboratorio No. 2” output: html_document date: “2025-04-26”

Salaries <- read.csv("C:/Users/Juan Carlos Carrillo/Desktop/Universidad/Métodos Cuantitativos para el Análisis de Información/Taller2/Salaries.csv",sep = ";", header = TRUE)



Salaries$rank = factor(Salaries$rank, levels = c("AsstProf", "AssocProf", "Prof"), ordered = TRUE)
Salaries$discipline = factor(Salaries$discipline, levels = c("A", "B"), labels = c("Teorica", "Aplicado"))
Salaries$sex = factor(Salaries$sex, levels = c("Female", "Male"), labels = c("Femenino", "Masculino"))

summary(Salaries)
##         rank        discipline  yrs.since.phd    yrs.service           sex     
##  AsstProf : 67   Teorica :181   Min.   : 1.00   Min.   : 0.00   Femenino : 39  
##  AssocProf: 64   Aplicado:216   1st Qu.:12.00   1st Qu.: 7.00   Masculino:358  
##  Prof     :266                  Median :21.00   Median :16.00                  
##                                 Mean   :22.31   Mean   :17.61                  
##                                 3rd Qu.:32.00   3rd Qu.:27.00                  
##                                 Max.   :56.00   Max.   :60.00                  
##      salary      
##  Min.   : 57800  
##  1st Qu.: 91000  
##  Median :107300  
##  Mean   :113706  
##  3rd Qu.:134185  
##  Max.   :231545
attach(Salaries)



# metricas evaluar salario vs sexo

Resumen=matrix(0,ncol=2,nrow=4)
rownames(Resumen)=c("Media","Mediana","Max","min")
Resumen[1,] = round(c(tapply(salary,sex,mean)),2)   
Resumen[2,] = round(c(tapply(salary,sex,median)),2)   
Resumen[3,] = round(c(tapply(salary,sex,max)),2)
Resumen[4,] = round(c(tapply(salary,sex,min)),2)
colnames(Resumen)=c("Salario Femenino","Salario Masculino")     
Resumen 
##         Salario Femenino Salario Masculino
## Media           101002.4          115090.4
## Mediana         103750.0          108043.0
## Max             161101.0          231545.0
## min              62884.0           57800.0
windows(height = 10, width = 10)    
boxplot(salary~sex,main="Salario vs sexo",xlab="Sexo",ylab="Salario",col="Blue") 
####################################################################################################

Resumen2=matrix(0,ncol=2,nrow=4)
rownames(Resumen2)=c("Media","Mediana","Max","min")
Resumen2[1,] = round(c(tapply(yrs.since.phd,sex,mean)),2)   
Resumen2[2,] = round(c(tapply(yrs.since.phd,sex,median)),2)   
Resumen2[3,] = round(c(tapply(yrs.since.phd,sex,max)),2)
Resumen2[4,] = round(c(tapply(yrs.since.phd,sex,min)),2)
colnames(Resumen2)<-c("Años desde PhD Femenino","Años desde PhD Masculino")     
Resumen2
##         Años desde PhD Femenino Años desde PhD Masculino
## Media                     16.51                    22.95
## Mediana                   17.00                    22.00
## Max                       39.00                    56.00
## min                        2.00                     1.00
boxplot(yrs.since.phd ~ sex, main = "Años desde PhD por Género",xlab="Sexo",ylab="SAños desde Phd",col="Blue")



####################################################################################################
Resumen3=matrix(0,ncol=2,nrow=4)
rownames(Resumen3)=c("Media","Mediana","Max","min")
Resumen3[1,] = round(c(tapply(yrs.service,sex,mean)),2)   
Resumen3[2,] = round(c(tapply(yrs.service,sex,median)),2)   
Resumen3[3,] = round(c(tapply(yrs.service,sex,max)),2)
Resumen3[4,] = round(c(tapply(yrs.service,sex,min)),2)
colnames(Resumen3)<-c("Años de servicio Femenino","Años de servicio Masculino")     
Resumen3
##         Años de servicio Femenino Años de servicio Masculino
## Media                       11.56                      18.27
## Mediana                     10.00                      18.00
## Max                         36.00                      60.00
## min                          0.00                       0.00
boxplot(yrs.service ~ sex, , main = "Años de Servicio por Género",xlab="Sexo",ylab="SAños de servicio",col="Blue")
##################################################################################################

#Distribucion
windows(height = 10, width = 10)
par(mfrow=c(1,2))

tabla=table(Salaries$sex, Salaries$rank)
tabla
##            
##             AsstProf AssocProf Prof
##   Femenino        11        10   18
##   Masculino       56        54  248
barplot(tabla,
        beside = TRUE,
        col = c("blue", "red"),
  
        main = "Numero de profesores por sexo y categoría docente",
        xlab = "Categoría docente",
        ylab = "Cantidad de profesores",
        ylim=c(0,250))
        
legend("topleft",                     
       c("Female","Male"),             
       fill = c("blue","red"),          
       
       text.font = 4,                   
       bty = "n"
      
)   
      

tabla2=table(Salaries$sex, Salaries$discipline)
tabla2
##            
##             Teorica Aplicado
##   Femenino       18       21
##   Masculino     163      195
barplot(tabla2,
        beside = TRUE,
        col = c("blue", "red"),
      
        main = "Numero de profesores por sexo y Disciplina",
        xlab = "Disciplina",
        ylab = "Cantidad de profesores",
        ylim=c(0,200))
legend("topleft",                       
       c("Female","Male"),              
       fill = c("blue","red"),         
       
       text.font = 4,                  
       bty = "n"
       
)

###################################################################

#Correlaciones

femenino = Salaries[Salaries$sex == "Femenino",]
masculino = Salaries[Salaries$sex == "Masculino",]

cfemenino = cor(femenino$yrs.since.phd,femenino$salary,use="pairwise.complete.obs")
cmasculino = cor(masculino$yrs.since.phd,masculino$salary,use="pairwise.complete.obs")

c2femenino = cor(femenino$yrs.service,femenino$salary,use="pairwise.complete.obs")
c2masculino = cor(masculino$yrs.service,masculino$salary,use="pairwise.complete.obs")



windows(height = 10, width = 15)
par(mfrow=c(2,2)) 

plot(femenino$yrs.since.phd,femenino$salary,main="AÑOS PHD femenino vs. Salario",type="p",pch=20,xlab="AÑOS",ylab="salario")


lim_fem <- par("usr")
text(x = lim_fem[1] + 2, y = lim_fem[4] - 4000,
     labels = paste("R =", round(cfemenino, 2)))

abline(lm(femenino$salary~femenino$yrs.since.phd),col="black")


plot(masculino$yrs.since.phd,masculino$salary,main="AÑOS PHD masculino vs. Salario",type="p",pch=20,xlab="AÑOS",ylab="salario")

lim_fem <- par("usr")
text(x = lim_fem[1] + 3, y = lim_fem[4] - 6000,
     labels = paste("R =", round(cmasculino, 2)))
abline(lm(masculino$salary~masculino$yrs.since.phd),col="black")


plot(femenino$yrs.service,femenino$salary,main="AÑOS de servicio femenino vs. Salario",type="p",pch=20,xlab="AÑOS",ylab="salario")


lim_fem <- par("usr")
text(x = lim_fem[1] + 2, y = lim_fem[4] - 4000,
     labels = paste("R =", round(c2femenino, 2)))

abline(lm(femenino$salary~femenino$yrs.service),col="black")


plot(masculino$yrs.service,masculino$salary,main="AÑOS de servicio masculino vs. Salario",type="p",pch=20,xlab="AÑOS",ylab="salario")

lim_fem <- par("usr")
text(x = lim_fem[1] + 3, y = lim_fem[4] - 6000,
     labels = paste("R =", round(c2masculino, 2)))
abline(lm(masculino$salary~masculino$yrs.service),col="black")

###############################################