RStudio es el Entorno de Desarrollo Integrado más bonito para Ciencia de Datos
Carga de bibliotecas
library(readr)
library(ggplot2)
library(tidyverse)
Carga del conjunto de datos
dfEmpleados<- read_csv("Empleados.CSV")
##
## -- Column specification --------------------------------------------------------
## cols(
## Consecutivo = col_double(),
## Recibido = col_double(),
## Solicitado = col_double(),
## Sexo = col_character(),
## Anio = col_double()
## )
Cálculo de regresión lineal
ModeloLineal <- lm(dfEmpleados$Recibido ~ dfEmpleados$Solicitado)
Sigma = summary(ModeloLineal)$sigma
Pendiente = ModeloLineal$coefficients[2]
Interseccion = ModeloLineal$coefficients[1]
Sigma
## [1] 2.953295
Pendiente
## dfEmpleados$Solicitado
## -0.2892257
Graficación
Segmentacion = 6
Grafica <- ggplot(data = dfEmpleados, mapping = (aes(x = dfEmpleados$Solicitado, y = dfEmpleados$Recibido)))
Grafica <- Grafica + geom_point(color = '#6789AB')
Grafica <- Grafica + geom_abline(intercept = Interseccion, slope = Pendiente, color = '#67EF89', size = 1)
Grafica <- Grafica + geom_abline(intercept = Interseccion - Sigma, slope = Pendiente, color = '#EF8967', linetype = 'dotted', size = 1)
Grafica <- Grafica + geom_abline(intercept = Interseccion + Sigma, slope = Pendiente, color = '#EF8967', linetype = 'dotted', size = 1)
Grafica <- Grafica + geom_vline(xintercept = Segmentacion, linetype = 'dotted', size = 1)
Grafica <- Grafica + ggtitle("Relación entre aumento solicitado y aumento recibido en la emprea NIMSS")
Grafica <- Grafica + labs(x = 'Aumento solicitado', y = 'Aumento recibido')
Grafica

Segmentación del modelo
ModeloA <- lm(dfEmpleados$Recibido[dfEmpleados$Solicitado < Segmentacion] ~ dfEmpleados$Solicitado[dfEmpleados$Solicitado < Segmentacion])
SigmaA = summary(ModeloA)$sigma
PendienteA = ModeloA$coefficients[2]
InterseccionA = ModeloA$coefficients[1]
ModeloB <- lm(dfEmpleados$Recibido[dfEmpleados$Solicitado >= Segmentacion] ~ dfEmpleados$Solicitado[dfEmpleados$Solicitado >= Segmentacion])
SigmaB = summary(ModeloB)$sigma
PendienteB = ModeloB$coefficients[2]
InterseccionB = ModeloB$coefficients[1]
XA1 = 0
XA2 = Segmentacion
XB1 = XA2
XB2 = 22
YA1 = PendienteA * XA1 + InterseccionA
YA2 = PendienteA * XA2 + InterseccionA
YB1 = PendienteB * XB1 + InterseccionB
YB2 = PendienteB * XB2 + InterseccionB
Segmentacion
## [1] 6
SigmaA
## [1] 4.935523
PendienteA
## dfEmpleados$Solicitado[dfEmpleados$Solicitado < Segmentacion]
## -0.0804499
SigmaB
## [1] 1.524934
PendienteB
## dfEmpleados$Solicitado[dfEmpleados$Solicitado >= Segmentacion]
## 0.01961161
Graficación del modelo segmentado
Grafica <- ggplot(data = dfEmpleados, mapping = (aes(x = dfEmpleados$Solicitado, y = dfEmpleados$Recibido)))
Grafica <- Grafica + geom_point(color = '#6789AB')
Grafica <- Grafica + geom_segment(x = XA1, y = YA1, xend = XA2, yend = YA2, color = '#67EF89', size = 1)
Grafica <- Grafica + geom_segment(x = XA1, y = YA1 - SigmaA, xend = XA2, yend = YA2 - SigmaA, color = '#EF8967', linetype = 'dotted', size = 1)
Grafica <- Grafica + geom_segment(x = XA1, y = YA1 + SigmaA, xend = XA2, yend = YA2 + SigmaA, color = '#EF8967', linetype = 'dotted', size = 1)
Grafica <- Grafica + geom_segment(x = XB1, y = YB1, xend = XB2, yend = YB2, color = '#67EF89', size = 1)
Grafica <- Grafica + geom_segment(x = XB1, y = YB1 - SigmaB, xend = XB2, yend = YB2 - SigmaB, color = '#EF8967', linetype = 'dotted', size = 1)
Grafica <- Grafica + geom_segment(x = XB1, y = YB1 + SigmaB, xend = XB2, yend = YB2 + SigmaB, color = '#EF8967', linetype = 'dotted', size = 1)
Grafica <- Grafica + geom_vline(xintercept = Segmentacion, linetype = 'dotted', size = 1)
Grafica <- Grafica + ggtitle("Relación entre aumento solicitado y aumento recibido en la emprea NIMSS")
Grafica <- Grafica + labs(x = 'Aumento solicitado', y = 'Aumento recibido')
Grafica
