# Carga de datos
Salaries <- read.csv("~/UV MAIN - 2025-2/ESTADISTICA/Laboratorio 2/Salaries.csv", sep=";", 
                     stringsAsFactors=TRUE) # Asegúrate de la ruta y el separador
attach(Salaries)

# 1. Introduccion y Analisis Global
# Este informe analiza la estructura salarial de la facultad para determinar si existen 
# evidencias de discriminacion por genero.

# A primera vista, al comparar los salarios globales sin tener en cuenta otras variables, 
# observamos la siguiente distribucion:

# Grafico 1: Comparacion Global (Sin tildes para evitar errores)
boxplot(salary ~ sex, data = Salaries,
        col = c("pink", "lightblue"),
        main = "Distribucion Global de Salarios por Genero",
        ylab = "Salario (USD)", xlab = "Genero")

# Tabla resumen
medias <- aggregate(salary ~ sex, data = Salaries, FUN = mean)
knitr::kable(medias, caption = "Salario Promedio por Genero (Sin ajustar)", digits = 0)
Salario Promedio por Genero (Sin ajustar)
sex salary
Female 101002
Male 115090
# Hallazgo preliminar: Se observa una diferencia en las medianas y promedios salariales, 
# donde el grupo masculino presenta valores superiores. Sin embargo, es necesario investigar 
# si esto se debe al genero o a factores de confusion estructurales.

# 2. Analisis de Factores de Confusion

# Para responder si la diferencia es atribuible exclusivamente al genero, analizamos la 
# distribucion de los profesores en los distintos escalafones (rank) y disciplinas.

par(mfrow=c(1,2)) # Dividir pantalla

# Grafico 2: Distribucion por Rango
Tabla_Rank <- table(Salaries$rank, Salaries$sex)
Tabla_Rank_Prop <- prop.table(Tabla_Rank, margin=2)

coord <- barplot(Tabla_Rank_Prop, beside=TRUE, legend.text=TRUE,
        args.legend=list(x="topright", bty="n", cex=0.7),
        col=c("lightyellow","orange","tomato"),
        main="Distribucion de Cargos por Genero", ylim=c(0,1.15))

text(x=coord, y=Tabla_Rank_Prop, 
     labels=paste(round(Tabla_Rank_Prop,2)*100,"%"), 
     cex=0.7, pos=3)

# Grafico 3: Distribucion por Disciplina
Tabla_Disc <- table(Salaries$discipline, Salaries$sex)
Tabla_Disc_Prop <- prop.table(Tabla_Disc, margin=2)

coord2 <- barplot(Tabla_Disc_Prop, beside=TRUE, legend.text=TRUE,
        args.legend=list(x="topright", bty="n", cex=0.7),
        col=c("gray90","gray50"),
        main="Distribucion por Disciplina", ylim=c(0,1.15))

# Analisis: 1. En el grafico de la izquierda, observamos que una proporcion mucho mayor 
# de hombres ocupa el cargo de Prof (Titular), que es el mejor pagado. 2. Esto sugiere 
# que el cargo (rank) es un fuerte factor de confusion.

# 3. Analisis Estratificado (Controlando el Rango)
# Aplicando el principio de la Paradoja de Simpson, comparamos hombres y mujeres dentro 
# del mismo nivel de cargo para ver si la brecha persiste.

par(mfrow=c(1,3)) # Tres graficos lado a lado
limites_y <- c(min(Salaries$salary), max(Salaries$salary))

# Nivel 1: Assistant Prof
with(subset(Salaries, rank=="AsstProf"), {
  boxplot(salary ~ sex, main="Nivel: AsstProf", 
          col=c("pink", "lightblue"), ylim=limites_y, ylab="Salario")
})

# Nivel 2: Associate Prof
with(subset(Salaries, rank=="AssocProf"), {
  boxplot(salary ~ sex, main="Nivel: AssocProf", 
          col=c("pink", "lightblue"), ylim=limites_y)
})

# Nivel 3: Full Professor
with(subset(Salaries, rank=="Prof"), {
  boxplot(salary ~ sex, main="Nivel: Prof (Titular)", 
          col=c("pink", "lightblue"), ylim=limites_y)
})

# Interpretación: Al "limpiar" el efecto del cargo, las cajas de los diagramas tienden a 
# alinearse. Esto indica que la brecha salarial observada globalmente disminuye drásticamente 
# cuando se compara a pares con la misma jerarquía.

# 4. Impacto de la Antiguedad
# Verificamos la relacion entre tiempo de servicio y salario.

# Gráfico 4: Dispersión con transparencia (Corregido)
# Definir colores básicos

colores_base <- ifelse(Salaries$sex=="Male", "blue", "red")
colores_transp <- adjustcolor(colores_base, alpha.f = 0.6)
pch_tipo <- ifelse(Salaries$sex=="Male", 19, 17) 

plot(Salaries$yrs.service, Salaries$salary, col=colores_transp, pch=pch_tipo,
     main="Salario vs Tiempo de Servicio", xlab="Anios de Servicio", ylab="Salario",
     las=1)
legend("topleft", legend=c("Female", "Male"), col=c("red", "blue"), pch=c(17,19), bty="n")

# Lineas de tendencia
abline(lm(salary ~ yrs.service, data=subset(Salaries, sex=="Male")), col="blue", lwd=2)
abline(lm(salary ~ yrs.service, data=subset(Salaries, sex=="Female")), col="red", lwd=2)

# Conclusiones
# Existe una brecha salarial global ("cruda") entre hombres y mujeres.

# Sin embargo, no es atribuible exclusivamente al género. Los hombres tienen mayor antigüedad 
# y ocupan desproporcionadamente los cargos más altos (Prof), los cuales tienen salarios base 
# superiores.

# Al comparar dentro del mismo rango, la evidencia de discriminación directa se debilita.