library(dplyr)
library(ggplot2)
library(descriptr)
library(knitr)
library(modeest)
library(fdth)
library(readxl)
library(fdth) # Tabla de frecuencias
library(plotrix)
# Muestra dónde está “parado” y qué archivos ve
getwd()
## [1] "/Users/jhoss/Desktop/Preparcial"
list.files(pattern = "\\.xlsx$")
## [1] "Base_Estadistica_Descriptiva.xlsx" "Encuesta_ciu.xlsx"
Base_Estadistica_Descriptiva <- read_excel("/Users/jhoss/Desktop/Preparcial/Base_Estadistica_Descriptiva.xlsx")

Parcial #1 :))

De la base de datos adjunta llamada Base_Estadistica_Descriptiva, tome una muestra de 160 registros usando como semilla los dos últimos dígitos de la cédula y, con base en la muestra encontrada, conteste las siguientes preguntas

set.seed(90)
datos <- Base_Estadistica_Descriptiva
datos <- sample_n(Base_Estadistica_Descriptiva, size = 160, replace = FALSE)
is.data.frame(datos)
## [1] TRUE

1. Determine el porcentaje de hombres que tienen estudios universitarios y muestre cuál es la cantidad total de mujeres participantes.

table_frec_genero<- table(datos$Genero) #TABLA DE FRECUENCIAS PARA NIVEL EDUCATIVO

table_frec_genero
## 
##  Femenino Masculino      Otro 
##        48        53        59
prop.table(table_frec_genero, margin = NULL)*100
## 
##  Femenino Masculino      Otro 
##    30.000    33.125    36.875

2. Elabore un diagrama de caja y bigotes para la variable estatura en función del género y analice la gráfica

attach(datos)
boxplot(datos$Estatura~ datos$Genero, xlab= "Estatura", ylab ="Género", main = "Diagrama de caja Estatura vs Género", col = c("#e9edc9", "#fefae0", "#faedcd" ))

Análisis de la gráfica: En el diagrama de caja se puede ver cómo está distribuida la estatura según el género. En los tres grupos (femenino, masculino y otro) la mediana está más o menos entre 1.7 y 1.75 metros. El grupo femenino queda un poquito más abajo y los otros dos casi iguales. La dispersión es parecida en todos, porque las cajas tienen un tamaño similar, y los valores van más o menos de 1.5 a 2.0 metros. No se ven datos raros o extremos. En general, no hay una diferencia grande entre géneros, aunque sí se nota que hombres y “otro” tienden a ser un poquito más altos que las mujeres.

3. Resuelva los siguientes puntos.

Pregunta 3.A: Elabore un diagrama de barras para la variable Hermanos y determine qué cantidad es la más frecuente.

table_frec_hermanos<- table(datos$Hermanos) #TABLA DE FRECUENCIAS PARA HERMANOS

table_frec_hermanos
## 
##  0  1  2  3  4  5  6 
## 24 23 20 23 28 19 23
barplot(table_frec_hermanos, col = c("#4a4e69","#9a8c98","#c9ada7","#f2e9e4"),
 horiz = FALSE,
 density = 80, 
 ylab= "Frecuencia",
 border = FALSE,
 xlab=" Número de Hermanos", 
 ylim = c(0,30),
 main= "Gráfico de barras para Hermanos") 

Análisis de la gráfica: En el gráfico de barras se muestra la cantidad de hermanos que tiene la gente y cuántos respondieron en cada caso. El número que más se repite es tener 4 hermanos, con 28 personas. Los menos comunes son tener 2 y 5 hermanos, que están entre 19 y 20 personas. Los demás valores, como 0, 1, 3 o 6 hermanos, quedan en un punto medio, alrededor de 23 o 24 personas. En general, se ve bastante variedad en el número de hermanos, pero resalta que lo más frecuente son las familias grandes, sobre todo con 4 hermanos.

Pregunta 3.B: Elabore un diagrama de torta en 3D para la variable NivelEducativo.

table_frec_nivel<- table(datos$NivelEducativo) #TABLA DE FRECUENCIAS PARA NIVEL EDUCATIVO

table_frec_nivel
## 
##      Primaria    Secundaria       Técnico Universitario 
##            39            42            49            30
tabla_educacion <- table(datos$NivelEducativo)

etiquetas <- paste(tabla_educacion) 

etiquetas <- paste(etiquetas) 
torta2 <- pie(tabla_educacion,labels = etiquetas, radius = 0.8,
              col=rainbow(length(etiquetas)),
              main="Diagrama de nivel educativo")

pie3D(tabla_educacion, radius = 1.1, theta = pi/4, labels = c("Primaria","Secundaria","Técnico", "Universitario"), border = "white", main="Diagrama de torta en 3D")

torta2 <- pie3D(tabla_educacion,labels=etiquetas,radius = 1.1,
                explode=0.3, height=0.3,labelcex = 1.0,theta=pi/4,
                main="Diagrama de nivel educativo 3D")

torta2
## [1] 0.7657632 2.3561945 4.1429753 5.6941367

Análisis de la gráfica

3.C.Elabore una tabla de frecuencias, el histograma y el polígono de frecuencias para la variable HorasDeTrabajo.

attach(datos)
tabla_trabaj <- fdt(x= HorasDeTrabajo, k = 6)
tabla_trabaj
##     Class limits  f   rf rf(%)  cf  cf(%)
##   [8.019,17.338)  2 0.01  1.25   2   1.25
##  [17.338,26.657) 14 0.09  8.75  16  10.00
##  [26.657,35.976) 35 0.22 21.88  51  31.87
##  [35.976,45.295) 62 0.39 38.75 113  70.62
##  [45.295,54.614) 40 0.25 25.00 153  95.62
##  [54.614,63.933)  7 0.04  4.38 160 100.00
kable(tabla_trabaj)
Class limits f rf rf(%) cf cf(%)
[8.019,17.338) 2 0.01250 1.250 2 1.250
[17.338,26.657) 14 0.08750 8.750 16 10.000
[26.657,35.976) 35 0.21875 21.875 51 31.875
[35.976,45.295) 62 0.38750 38.750 113 70.625
[45.295,54.614) 40 0.25000 25.000 153 95.625
[54.614,63.933) 7 0.04375 4.375 160 100.000
x
start 8.019
end 63.933
h 9.319
right 0.000
plot(tabla_trabaj,
     col = c("#edafb8", "#f5cac3", "#e6ccb2", "#f7e1d7", "#dedbd2", "#b0c4b1", "#4a5759", "#90a955","#656d4a"),     
     main = "Histograma de horas de trabajo", 
  type = "fh") 

plot(tabla_trabaj,
     col = c("#edafb8", "#f5cac3", "#e6ccb2", "#f7e1d7", "#dedbd2", "#b0c4b1", "#4a5759", "#90a955","#656d4a"),     
     main = "Poligono de frecuencias de horas de trabajo", 
  type = "fp") 

Analisis de las gráficas: En los gráficos se observa que la mayoría de personas trabajan entre 36 y 45 horas, siendo este el intervalo con mayor frecuencia. También hay una cantidad considerable que trabaja entre 26 y 36 y 45 y 55 horas, mientras que en los extremos (muy pocas o demasiadas horas) casi no hay casos. Esto muestra que la distribución de horas de trabajo se concentra en jornadas medias, cercanas a las 40 horas semanales.

3.D:

attach(datos)
## The following objects are masked from datos (pos = 3):
## 
##     Edad, Estatura, Genero, Hermanos, HorasDeTrabajo, ID,
##     IngresoMensual, NivelEducativo
## The following objects are masked from datos (pos = 4):
## 
##     Edad, Estatura, Genero, Hermanos, HorasDeTrabajo, ID,
##     IngresoMensual, NivelEducativo
media_a <- mean(IngresoMensual)
mediana <- median(IngresoMensual)
moda <- mlv1(IngresoMensual)
## Warning: argument 'method' is missing. Data are supposed to be continuous. 
##             Default method 'shorth' is used
df <- data.frame(media_a,mediana,moda)
df
##    media_a mediana     moda
## 1 2061.654 2063.93 1894.338
rango_ingreso <- max(datos$IngresoMensual) -min(datos$IngresoMensual)
cat("El rango del ingreso mensual es:", rango_ingreso)
## El rango del ingreso mensual es: 4124.42

Varianza del precio

var_ingreso <-var(datos$IngresoMensual)
cat("La varianza del ingreso mensual:", var_ingreso)
## La varianza del ingreso mensual: 592424

Coeficiente de variación

CV <- (sd(datos$IngresoMensual)/ mean(datos$IngresoMensual)) *100
cat("El coeficiente de variación del ingreso mensual es:", CV)
## El coeficiente de variación del ingreso mensual es: 37.33366

De variabilidad:

asim_diam <- ds_skewness(datos$IngresoMensual)
cat("La asimetria del ingreso mensual es:", asim_diam)
## La asimetria del ingreso mensual es: 0.2572973
curt_diam <- ds_kurtosis(datos$IngresoMensual)
cat("La curtosis del ingreso mensual es:", curt_diam)
## La curtosis del ingreso mensual es: 0.007877007

Cuartiles:

percentiles <- quantile(datos$IngresoMensual,probs = c(0.25,0.3,0.5,0.75), type = 6)
percentiles
##      25%      30%      50%      75% 
## 1506.720 1673.502 2063.930 2561.743

Resumen Final:

Primero el porcentaje de hombres es de 33.1% y el total de mujeres es de 48. Después un boxplot de estatura según género, donde vimos que las medianas eran similares (entre 1.7 y 1.75 m) y no había valores atípicos. Luego trabajamos un gráfico de barras sobre número de hermanos, en el que lo más común fue tener 4, aunque también hubo variedad en los demás valores. Después revisamos un histograma y un polígono de frecuencias de horas de trabajo, donde la mayoría de personas se concentró entre 36 y 45 horas, con muy pocos en los extremos.

d <- ds_tidy_stats(datos,IngresoMensual)
kable(d)
vars min max mean t_mean median mode range variance stdev skew kurtosis coeff_var q1 q3 iqrange
IngresoMensual 464.01 4588.43 2061.654 2049.561 2063.93 464.01 4124.42 592424 769.6908 0.2572973 0.007877 37.33366 1508.22 2553.267 1045.047