1.1 ¿Cuál es la población objetivo? La población objetivo es trabajadores de Colombia de diversos sectores.
1.2 ¿Existe una muestra? ¿Cuál es? Si, la muestra es 300 trabajadores de Colombia de diversos secotores seleccionados a través de mjuestreo aleatorio simple.
1.3 Menciones un parámetro y un estadístico en este estudio. Parámetro: Promedio de edad de la poblacion de trabajadores de Colombia de diversos sectores. Estadístico: Promedio de edad de la muestra de los 300 trabajadores de Colombia de diversos sectores.
1.4 Clasifique cada una de las variables de la base de datos acuerdo con su naturaleza y nivel de medición
Variable Género: Categórica Nominal Variable Estado Civil: Categórica Nominal Variable Nivel de Escolaridad: Categórica Ordinal Variable Nivel de Estrés laboral: Categórica Ordinal Variable Satisfacción Laboral: Categórica Ordinal Variable Edad: Númerica Continua Variable Horas de Trabajo Semanal: Númerica Continua Variable Horas de Sueño: Númerica Continua Variable Salario Mensual: Númerica Continua
Cargar base de datos:
library(readr)
Base<- read_csv("dataset_taller1(in).csv")
## Rows: 300 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): genero, estado_civil, nivel_escolaridad, nivel_estres_laboral, sati...
## dbl (4): edad, horas_trabajo_semanal, horas_sueno, salario_mensual
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Nombres de variables
names(Base)
## [1] "genero" "estado_civil" "nivel_escolaridad"
## [4] "nivel_estres_laboral" "satisfaccion_laboral" "edad"
## [7] "horas_trabajo_semanal" "horas_sueno" "salario_mensual"
Dimesiones de la base de datos
dim(Base)
## [1] 300 9
Mostrar las primeras filas de la base de datos
head(Base)
## # A tibble: 6 × 9
## genero estado_civil nivel_escolaridad nivel_estres_laboral
## <chr> <chr> <chr> <chr>
## 1 masculino soltero secundaria bajo
## 2 otro casado secundaria bajo
## 3 femenino casado secundaria bajo
## 4 femenino casado primaria moderado
## 5 masculino casado primaria moderado
## 6 masculino viudo pregrado alto
## # ℹ 5 more variables: satisfaccion_laboral <chr>, edad <dbl>,
## # horas_trabajo_semanal <dbl>, horas_sueno <dbl>, salario_mensual <dbl>
Tipos de datos
str(Base)
## spc_tbl_ [300 × 9] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ genero : chr [1:300] "masculino" "otro" "femenino" "femenino" ...
## $ estado_civil : chr [1:300] "soltero" "casado" "casado" "casado" ...
## $ nivel_escolaridad : chr [1:300] "secundaria" "secundaria" "secundaria" "primaria" ...
## $ nivel_estres_laboral : chr [1:300] "bajo" "bajo" "bajo" "moderado" ...
## $ satisfaccion_laboral : chr [1:300] "alta" "baja" "baja" "media" ...
## $ edad : num [1:300] 10 57 21 18 45 59 48 40 40 43 ...
## $ horas_trabajo_semanal: num [1:300] 38.6 NA 37.9 31.5 34.2 ...
## $ horas_sueno : num [1:300] 9.46 8.11 7.11 4.6 6.63 ...
## $ salario_mensual : num [1:300] 3181 2390 2812 1148 1333 ...
## - attr(*, "spec")=
## .. cols(
## .. genero = col_character(),
## .. estado_civil = col_character(),
## .. nivel_escolaridad = col_character(),
## .. nivel_estres_laboral = col_character(),
## .. satisfaccion_laboral = col_character(),
## .. edad = col_double(),
## .. horas_trabajo_semanal = col_double(),
## .. horas_sueno = col_double(),
## .. salario_mensual = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
sum(is.na(Base))
## [1] 45
¿Qué se encontró? Realizando la revision de la base de datos se encontraron 45 datos faltantes, lo que indica que la base de datos es incompleta.
summary(Base)
## genero estado_civil nivel_escolaridad nivel_estres_laboral
## Length:300 Length:300 Length:300 Length:300
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## satisfaccion_laboral edad horas_trabajo_semanal horas_sueno
## Length:300 Min. : 9.00 Min. :10.79 Min. : 2.471
## Class :character 1st Qu.:28.00 1st Qu.:34.60 1st Qu.: 6.008
## Mode :character Median :35.00 Median :40.64 Median : 6.958
## Mean :35.11 Mean :40.84 Mean : 6.945
## 3rd Qu.:41.00 3rd Qu.:47.46 3rd Qu.: 7.901
## Max. :61.00 Max. :71.93 Max. :11.707
## NA's :20
## salario_mensual
## Min. : -9724
## 1st Qu.: 2031
## Median : 3301
## Mean : 7805
## 3rd Qu.: 4735
## Max. :605894
## NA's :25
¿Qué se encontró? Se econtró 1 valor atípico en la variables de edad y 2 valores atipicos en salario mensual. El valor atípico es -9724 en salario minimo; mientras que en el valor atipico maximo en dichas variables fue de 61 años en edad y 605894 en salario minimo.
Tabla para la variable: Nivel de Escolaridad
tabla_nivel_de_escolaridad <- table(Base$nivel_escolaridad)
print(tabla_nivel_de_escolaridad)
##
## posgrado pregrado primaria secundaria
## 39 114 46 101
Tabla para la variable: Genero
tabla_genero <- table(Base$genero)
print(tabla_genero)
##
## femenino masculino otro
## 135 136 29
Tabla para la variable: Edad
Base$edad <- as.numeric(as.character(Base$edad))
Base <- Base[!is.na(Base$edad), ]
num_intervals <- nclass.Sturges(Base$edad)
tabla_edad <- table(
cut(Base$edad, breaks = num_intervals, include.lowest = TRUE)
)
tabla_edad <- as.data.frame(tabla_edad)
colnames(tabla_edad) <- c("Rango_de_Edad", "Frecuencia")
tabla_edad$frecuencia_relativa <- round(
prop.table(tabla_edad$Frecuencia) * 100, 2
)
tabla_edad
## Rango_de_Edad Frecuencia frecuencia_relativa
## 1 [8.95,14.2] 4 1.33
## 2 (14.2,19.4] 12 4.00
## 3 (19.4,24.6] 28 9.33
## 4 (24.6,29.8] 47 15.67
## 5 (29.8,35] 62 20.67
## 6 (35,40.2] 68 22.67
## 7 (40.2,45.4] 34 11.33
## 8 (45.4,50.6] 24 8.00
## 9 (50.6,55.8] 11 3.67
## 10 (55.8,61.1] 10 3.33
Tabla para las variables: Satisfacción Laboral y Nivel de estrés laboral
tabla_contingencia <- table(Base$nivel_estres_laboral, Base$satisfaccion_laboral)
tabla_contingencia
##
## alta baja media nan
## alto 16 22 26 6
## bajo 22 29 38 4
## moderado 30 28 74 5
Gráfico de tipo diagrama circular para la variable: Genero
tabla_genro <- table(Base$frecuencia_genero)
## Warning: Unknown or uninitialised column: `frecuencia_genero`.
df_genero <- as.data.frame(tabla_genero)
colnames(df_genero) <- c("Frecuencia de Genero", "Frecuencia")
ggplot(df_genero, aes(x = "", y = Frecuencia, fill = `Frecuencia de Genero`)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
labs(title = "Frecuencia de Genero (Gráfico Circular)") +
theme_void()
¿Qué ve? Se evidencia que hay mayor porcentaje de hombres con respecto a
mujeres y hay mas mujeres y otros combinados con respecto a hombres.
Gráfico de tipo histograma para la variable: Edad
ggplot(Base, aes(x = edad)) +
geom_histogram(bins = 10, fill = "steelblue", color = "black", alpha = 0.7) +
labs(title = "Distribución de Edades", x = "Edad", y = "Frecuencia") +
theme_minimal()
¿Qué ve? Se evidencia un sesgo positivo debido a que la acumulación de
datos esta a la izquierda.
Gráfico de tipo caja y bigotes para la variable: salario mensual
options(scipen=999)
boxplot(Base$salario_mensual, horizontal=TRUE, col='cadetblue4',
main="Boxplot de Salario Mensual (Sin Valores Extremos)",
outline=FALSE)
¿Qué ve? La media tiene un valor de 7805 y la mediana un valor de 3301
mostrado en los cinco números, que indica la presencia de dispersión y
valores atipicos. —
Hay que tener en cuenta varios factores, dentro de los cuales se encuetran los datos incompletos, valores atipicos, falta de concordancia entre nivel de escolaridad y edad mostrda en la base de datos, ademas de los sesgos.