Análisis de datos de oferta laboral para ingenierías en México
Como es el campo laboral de las ingenierías mecatrónica y electromecánica en México
INTRODUCCION
La Mecatrónica es la combinación sinérgica de distintas ramas de la Ingeniería, entre las que destacan, la mecánica de precisión, la electrónica, la informática y los sistemas de control. Su principal propósito (es el análisis y diseño de productos y de procesos de manufactura automatizados.)
La electromecánica consiste en una combinación de la ingeniería eléctrica, la ciencia de la mecánica y el electromagnetismo. Las funciones principales de la electromecánica son (analizar, diseñar, desarrollar, manufacturar y mantener todo tipo de sistemas, dispositivos y elementos electromecánicos.)
ANTECEDENTES
Una de las organizaciones que ha permitido la difusión del concepto (mecatrónica) es la Asociación Mexicana de Mecatrónica, creada en agosto de dos mil uno con el objetivo de Impulsar el desarrollo y estudio de la Mecatrónica en general, a través de los medios de comunicación, trabajos de investigación, foros nacionales y participación en las Universidades públicas y privadas, así como en todo tipo de empresas.
La ingeniería Electromecánica es quizá la más joven de todas las ingenierías, nace de la necesidad de preparar un profesional polivalente con competencias evidenciables, capaz de enfrentar este mundo cambiante en tecnología y nuevos mercados, en un contexto de modernización y globalización productiva.
Objetivo
El objetivo de este presente estudio es conocer de una manera descriptiva y cuantitativa como es la oferta laboral económica para las carreras de ingeniería en mecatrónica y electromecánica. Para esto se consultaron bases de datos de ofertas de puestos de trabajo en los portales que son: ineed y computrabajo, a continuación se hará una serie de inferencias utilizando los datos recabados.
Paquetes
library(xfun)##
## Attaching package: 'xfun'
## The following objects are masked from 'package:base':
##
## attr, isFALSE
library(pacman)
p_load("DT","prettydoc","readr", "base64enc", "htmltools", "mime", "dplyr", "ggplot2")Datos
A continuación veremos en una tabla interactiva los datos a utilizar
setwd("~/pye1pm")
ingenierias <- read_csv("ingenierias2.csv")## Rows: 39 Columns: 12
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (8): Puesto, Perfil, Estado, Ciudad, País, Especialidad, Grado mínimo, F...
## dbl (2): Sueldo bruto mensual, PIBEstado
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
datatable(ingenierias)Análisis exploratorio de los datos
*Resumen estadístico básico
summary(ingenierias)## Puesto Perfil Sueldo bruto mensual Estado
## Length:39 Length:39 Min. : 1300 Length:39
## Class :character Class :character 1st Qu.:13500 Class :character
## Mode :character Mode :character Median :16000 Mode :character
## Mean :17650
## 3rd Qu.:19700
## Max. :50000
## Ciudad País Especialidad Grado mínimo
## Length:39 Length:39 Length:39 Length:39
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Fuente PIBEstado Poblacion por estado profesionistas
## Length:39 Min. : 220550 Min. : 1857985 Min. : 156181
## Class :character 1st Qu.: 469053 1st Qu.: 2822255 1st Qu.: 217825
## Mode :character Median : 553945 Median : 3769020 Median : 351176
## Mean :1058347 Mean : 6471213 Mean : 495205
## 3rd Qu.:1258572 3rd Qu.: 8348151 3rd Qu.: 668371
## Max. :2848734 Max. :16992418 Max. :1203035
- Gráfico de caja y bigote de los sueldos brutos mensuales de ambas ingenierías
boxplot(ingenierias$`Sueldo bruto mensual`, col = "red") * Histograma de frecuencias absolutas de los sueldos brutos mensuales de ambas ingenierías
hist(ingenierias$`Sueldo bruto mensual`, col = "red")- Varianza
var(ingenierias$`Sueldo bruto mensual`)## [1] 72042493
- Desviación estándar
sd(ingenierias$`Sueldo bruto mensual`)## [1] 8487.785
- Gráfico de dispersión
plot(ingenierias$`Sueldo bruto mensual`) ## Estimación de parámetros
¿Que carrera gana más dinero según estos datos?
Para contestar esto haremos un análisis de prueba de hipótesis
Grafico comparativo de conjuntos de datos de los sueldos brutos mensaules de mecatrónica y electromecánica
boxplot(ingenierias$`Sueldo bruto mensual` ~ ingenierias$Perfil, col="red")¿Que grado académico está percibiendo más sueldo?
boxplot(ingenierias$`Sueldo bruto mensual` ~ ingenierias$`Grado mínimo`, col="red") ¿Que estado de la repúblicaestá percibiendo más sueldo?
boxplot(ingenierias$`Sueldo bruto mensual` ~ ingenierias$Estado, col="red")¿Qué es lo que hace que ciertos estados se pague más que en otros?
- Existe una correlación entre sueldo bruto mensual de las ofertas laborales de los estados y su Producto interno bruto?
Análisis gráfico
plot(ingenierias$PIBEstado, ingenierias$`Sueldo bruto mensual`)Análisis de correlación
cor(ingenierias$PIBEstado, ingenierias$`Sueldo bruto mensual`)## [1] -0.1529404
Análisis de probabilidades
Si eres un ingeniero electromecánico o mecatrónico en México, que probabilidades existen de que ganes más de 15,000 pesos de sueldo bruto mensual?
Para esto usaremos la distribución normal, pero primero hay que conocer si efectivamente los datos son normales
- Para esto usaremos la prueba de normalidad de shapiro-wilk
shapiro.test(ingenierias$`Sueldo bruto mensual`)##
## Shapiro-Wilk normality test
##
## data: ingenierias$`Sueldo bruto mensual`
## W = 0.8547, p-value = 0.0001405
Los datos no se comportan de manera normal
Ahora realizaremos un primer análisis paramétrico para conocer los resultados que obtendríamos de usar la distribución normal
Promedio: 1058347 Desviación estándar: 8487.785
¿Cual es la probabilidad puntual de que un ingeniero gane 15,000 pesos al mes?
dnorm(15000, mean = 1058347, sd= 8487.785)## [1] 0
¿Cual es la probabilidad de que el sueldo sea mayor a 15,000?
pnorm(15000, mean = 1058347 , sd = 8487.785, lower.tail = FALSE )## [1] 1
Este resultado es dado que los datos NO son normales
¿Existe una correlación entre sueldo bruto mensual de las ofertas laborales de los estados y la poblacion del estado?
Análisis gráfico
plot(ingenierias$`Sueldo bruto mensual`, ingenierias$`Poblacion por estado`)Análisis de correlación
cor(ingenierias$`Poblacion por estado`, ingenierias$`Sueldo bruto mensual`)## [1] -0.2201248
Con esto podemos llegar a la conclusion de que no existe una relacion entre el sueldo bruto mensual y la poblacion por estado.
¿Existe una relacion entre el numero de profesionistas por estado y el sueldo bruto mensual?
plot(ingenierias$profesionistas, ingenierias$`Sueldo bruto mensual`) ## Análisis de correlación
cor(ingenierias$profesionistas, ingenierias$`Sueldo bruto mensual`)## [1] -0.1902392
Y ahora con esto llegamos a la conclusion de que tampoco existe una relacion entre el sueldo bruto mensual y el numero de profesionistas por estado
Inferencia
Hipotesis nula (H0): Que el sueldo bruto mensual esta relacionado al numero de profesionistas
Hipotesis alternativa (H1): Que estas variables no tienen ninguna relacion
str(ingenierias$`Sueldo bruto mensual`)## num [1:39] 20000 18000 19400 22000 20000 25000 16000 36000 12200 16000 ...
str(ingenierias$PIBEstado)## num [1:39] 553945 553945 539294 539294 539294 ...
str(ingenierias$`Poblacion por estado`)## num [1:39] 3769020 3769020 3741869 3741869 3741869 ...
str(ingenierias$profesionistas)## num [1:39] 351176 351176 309475 309475 309475 ...
levels(as.factor(ingenierias$`Sueldo bruto mensual`))## [1] "1300" "8000" "8100" "9000" "10000" "11000" "12200" "13000" "14000"
## [10] "14738" "15000" "15500" "16000" "17000" "18000" "18500" "19000" "19400"
## [19] "20000" "22000" "25000" "25600" "26000" "35000" "36000" "50000"
boxplot(ingenierias$`Sueldo bruto mensual` ~ ingenierias$PIBEstado, col= "red" )shapiro.test(ingenierias$PIBEstado)##
## Shapiro-Wilk normality test
##
## data: ingenierias$PIBEstado
## W = 0.7742, p-value = 2.576e-06
En esta prueba de normalidad se puede observar que el los datos del PIB no se comportan de manera normal
ks.test(ingenierias$PIBEstado, "pnorm", mean=mean(ingenierias$PIBEstado), sd=sd(ingenierias$PIBEstado) )## Warning in ks.test(ingenierias$PIBEstado, "pnorm", mean =
## mean(ingenierias$PIBEstado), : ties should not be present for the Kolmogorov-
## Smirnov test
##
## One-sample Kolmogorov-Smirnov test
##
## data: ingenierias$PIBEstado
## D = 0.23404, p-value = 0.02789
## alternative hypothesis: two-sided
Dado que p < 0.05 en esta segunda prueba, comprobamos una vez mas como los datos no son normales
shapiro.test(ingenierias$`Poblacion por estado`)##
## Shapiro-Wilk normality test
##
## data: ingenierias$`Poblacion por estado`
## W = 0.75871, p-value = 1.314e-06
En esta prueba de normalidad se puede observar que los datos del PIB no se comportan de manera normal ya que el valor de p es muy bajo
ks.test(ingenierias$`Poblacion por estado`, "pnorm", mean=mean(ingenierias$`Poblacion por estado`), sd=sd(ingenierias$`Poblacion por estado`) )## Warning in ks.test(ingenierias$`Poblacion por estado`, "pnorm", mean =
## mean(ingenierias$`Poblacion por estado`), : ties should not be present for the
## Kolmogorov-Smirnov test
##
## One-sample Kolmogorov-Smirnov test
##
## data: ingenierias$`Poblacion por estado`
## D = 0.24192, p-value = 0.02082
## alternative hypothesis: two-sided
Una vez mas se puede observar que el valor de p es inferior al requerido por lo que los datos no son normales
shapiro.test(ingenierias$profesionistas)##
## Shapiro-Wilk normality test
##
## data: ingenierias$profesionistas
## W = 0.80901, p-value = 1.296e-05
En esta prueba de normalidad se puede observar que el los datos del PIB no se comportan de manera normal
ks.test(ingenierias$profesionistas, "pnorm", mean=mean(ingenierias$profesionistas), sd=sd(ingenierias$profesionistas) )## Warning in ks.test(ingenierias$profesionistas, "pnorm", mean =
## mean(ingenierias$profesionistas), : ties should not be present for the
## Kolmogorov-Smirnov test
##
## One-sample Kolmogorov-Smirnov test
##
## data: ingenierias$profesionistas
## D = 0.21575, p-value = 0.05299
## alternative hypothesis: two-sided
En la prueba de normalidad de Kolmogorov-Smirnov p > 0.05 por lo que paso la prueba
op <- par(mfrow =c(1,2), cex.axis=.7, cex.lab=.9 )
boxplot(ingenierias$`Sueldo bruto mensual` ~ ingenierias$profesionistas, col="grey", main="A" )
barplot(tapply(ingenierias$`Sueldo bruto mensual`, list(ingenierias$profesionistas), mean ), beside = T, main="B" ) Representación del comportamiento del sueldo con los profesionistas mediante un boxplot (A) y gráfico de barras con desviación estándar (B).
Prueba de varianzas
var.test(ingenierias$`Sueldo bruto mensual`, ingenierias$profesionistas)##
## F test to compare two variances
##
## data: ingenierias$`Sueldo bruto mensual` and ingenierias$profesionistas
## F = 0.00064893, num df = 38, denom df = 38, p-value < 2.2e-16
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.0003402891 0.0012375167
## sample estimates:
## ratio of variances
## 0.0006489325
El valor de p es inferior a 0.05 por lo que las varianzas no son normales y no se puede aceptar Ho que es que ambas variables tienen que ver una con la otra. Llegando a la conclusion de que estas variables no tienen relacion