Gráfica de Líneas en R

¿Qué se debe tener en cuenta?

  • un propósito, si tiene claro que quiere decir con el gráfico es más fácil escogerlo.

  • el tipo de variable a graficar debe ser continua

  • Revisar si requiere crear una tabla resumen, dependera de lo que quiere mostrar

  • Las librerias son esenciales para facilitarse la vida. Algunas de ellas

library(tidyverse)  # carga un conjunto de librerias necesarias, entre ellas dplyr, ggplot2

si bien todas ayudan, para este documento solo utilizaré GGPLOT2 para no hacer un documento tan extenso.

Construcción

  • Carguemos un dataset.

pueden encontrar el archivo de datos en el siguiente link: https://github.com/cjimenezgallardo/DATASETS/blob/main/datos_empleados.xlsx

Los datos corresponden Sueldo percibidos en una empresa, y que como variable, se tienen:

dataej<-datos_empleados
names(dataej)
##  [1] "ID"             "Sexo"           "FechaNAc"       "educacion"     
##  [5] "labor"          "Sueldo_actual"  "Sueldo_inicial" "antigüedad"    
##  [9] "experiencia"    "minoria"

Lo primero

CONSEJO: realice un bosquejo manual, que le permita entender que quiere mostrar, para que luego lo contrareste con lo que aparecio en R

Objetivo, mostrar evolucion del sueldo promedio por nivel educativo

ggplot(data = dataej,aes(x=educacion,y=Sueldo_actual))+
  geom_line() 

el grafico anterior, muestra todos los datos, y los ordena en funcion de X, luego suma por cada estado de la variable y genera la linea vertical.

entonces si quiere hacer un punto por cada año, es aconsejable obtener un valor representativo.

tablar1 <- dataej%>% 
  group_by(educacion) %>% 
  summarise(Prom=mean(Sueldo_actual))


ggplot(data = tablar1,aes(x=educacion,y=Prom))+
  geom_line() 

tablar2 <- dataej%>% 
  group_by(educacion,Sexo) %>% 
  summarise(Prom=mean(Sueldo_actual))


ggplot(data = tablar2,aes(x=educacion,y=Prom,color=Sexo))+
  geom_line()+
  geom_point()+
  facet_wrap(~"Evolución del sueldo promedio de acuerdo a lo años de estudio")

ggplot(data = tablar2,aes(x=educacion,y=Prom,color=Sexo))+
  geom_line(lwd=1.1)+
  geom_point(size=2)+
  facet_wrap(~"Evolución del sueldo promedio de acuerdo a lo años de estudio según sexo")

#algo mas complejo

#crear una variable escolaridad

dataej$estudios<-"1"
dataej$estudios[dataej$educacion==12]<-"2"
dataej$estudios[dataej$educacion>12 & dataej$educacion<=14 ]<-"3"
dataej$estudios[dataej$educacion>14 & dataej$educacion<=18 ]<-"4"
dataej$estudios[dataej$educacion>18]<-"5"



tablar4 <- dataej%>% 
  group_by(experiencia,estudios) %>% 
  summarise(Prom=mean(Sueldo_actual)) 





ggplot(data = tablar4,aes(x=experiencia,y=Prom,color=estudios))+
  geom_line(lwd=0.9)+
  geom_point(size=2)+
  scale_color_manual(values=c("#D43F3A", "#EEA236", "#5CB85C", "#46B8DA", "#9632B8"))+
  facet_wrap(~"Evolución del sueldo promedio de acuerdo a la experiencia segun los años de estudio")

ggplot(data = tablar4,aes(x=experiencia,y=Prom,color=estudios))+
  geom_line(lwd=0.9)+
  scale_color_manual(values=c("#D43F3A", "#EEA236", "#5CB85C", "#46B8DA", "#9632B8"))+
    facet_wrap(~"Evolución del sueldo promedio de acuerdo a la experiencia segun nivel de estudio")+
  scale_color_discrete(labels=c("Basica","Media","Técnica","Universitaria","Postgrado"))

Resaltar una linea

ggplot(tablar4,aes(x=experiencia,y=Prom,color=estudios))+
  geom_line(lwd=0.9)+
  scale_color_manual(values=c("red","gray","gray","gray","gray"),
                     labels=c("Basica","Media","Técnica","Universitaria","Postgrado"))+
  ggtitle("Evolución del sueldo promedio de acuerdo a la experiencia en personal con educacion basica")