Valentina Palma De La Hoz
Juan Delgado Africano
Daniel Chitán Palma
Danna Guzmán Rivas

knitr::opts_chunk$set(echo = TRUE, fig.align = 'center')
set.seed(7335) 

1. ANÁLISIS DE VARIABLES CUALITATIVAS.

1.1. Proporción de estudiantes para cada nivel educativo.

A continuación se muestra la proporción en porcentajes de cada nivel educativo:

Base_Estadistica_Descriptiva <- read_excel("Base_Estadistica_Descriptiva.xlsx")
tabla <- table(Base_Estadistica_Descriptiva$NivelEducativo)

round(prop.table(table(Base_Estadistica_Descriptiva$NivelEducativo)) * 100, 2)
## 
##      Primaria    Secundaria       Técnico Universitario 
##          22.9          28.8          23.1          25.2

Tal como se observa, la mayor proporción corresponde a un nivel educativo de secundaria con un 28.8%.

1.2. Tabla de frecuencias y Diagrama de Barras.

Ahora se muestas una tabla de frecuancias para el nivel educativo junto con rus respectivo porcentaje y el gráfico de barras correspondiente.

prop <- prop.table(tabla)
tabla_frecuencias <- data.frame(Nivel_Educativo= names(tabla),Frecuencia = as.vector(tabla),
  Porcentaje = round(as.vector(prop) * 100, 2))
tabla_frecuencias
barplot(tabla, col=topo.colors(4),main="Gráfico de Barras del Nivel Educativo",ylim=c(0,300),xlab="Nivel Educativo",ylab="Frecuencia Absoluta",width = c(0.2,0.2,0.2,0.2))

El gráfico muestra la distribución de una población según su grado de formación, evidenciando que la mayoría de las personas alcanzaron el nivel secundario (28.8%), seguido por el universitario (25.2%), el técnico (23.1%) y, en menor proporción, el primario (22.9%).

1.3. Porcentaje de personas para cada género.

A continución se presenta el porcentaje correspondiente a cada género junto con el diagrama de torta.

tabla2 <- table(Base_Estadistica_Descriptiva$Genero)

round(prop.table(table(Base_Estadistica_Descriptiva$Genero)) * 100, 2)
## 
##  Femenino Masculino      Otro 
##      30.6      33.9      35.5
porcentajes <- round(tabla2 / sum(tabla2) * 100, 1)
niveles <- c("Masculino","Femenino", "Otro")
etiquetas <- paste(niveles, "-", porcentajes, "%")
pie3D(tabla2,col=hcl.colors(length(tabla), "Spectral"),
      labels = etiquetas,explode = 0.1,theta=pi/4,shade = 0.7,radius=0.8,main ="Diagrama de Torta del Género",labelcex = 1.1)

El diagrama de torta del género muestra la distribución porcentual de las personas según su identificación de género. Se observa que el 33.9% corresponde al género femenino, el 30.6% al masculino y el 35.5% a otro género, evidenciando una mayor proporción de personas que se identifican fuera del binario tradicional.

2. ANÁLISIS DE VARIABLES CUANTITATIVAS DISCRETAS.

datos.g <- read_excel("Base_Estadistica_Descriptiva.xlsx")
set.seed(7335) 


str(datos.g)
## tibble [1,000 × 8] (S3: tbl_df/tbl/data.frame)
##  $ ID            : num [1:1000] 1.61e+08 6.83e+08 8.18e+08 1.21e+08 2.21e+08 ...
##  $ Genero        : chr [1:1000] "Femenino" "Masculino" "Otro" "Masculino" ...
##  $ NivelEducativo: chr [1:1000] "Secundaria" "Primaria" "Técnico" "Técnico" ...
##  $ Edad          : num [1:1000] 60 44 53 58 29 26 33 45 45 30 ...
##  $ Hermanos      : num [1:1000] 2 2 1 3 4 5 0 4 3 5 ...
##  $ Estatura      : num [1:1000] 1.76 1.84 1.51 1.75 1.88 1.73 1.88 1.78 1.87 1.87 ...
##  $ IngresoMensual: num [1:1000] 1168 2078 2557 1565 1313 ...
##  $ HorasDeTrabajo: num [1:1000] 38.9 28.6 43.2 29.9 31.5 60.4 26 31.2 34.2 34 ...
head(datos.g)

2.1. Media, Mediana y Desviación Estándar.

## [1] 41
## El promedio de la edad de las personas en la muestra es: 41.53
## La mediana de la edad de las personas en la muestra es : 41
##  la moda(s) de la edad de las personas en la muestra es: 37 52
##    Medida  Valor
## 1   Media  41.53
## 2 Mediana     41
## 3    Moda 37, 52

La variable Edad fue analizada mediante un enfoque descriptivo, en el cual se calcularon medidas de tendencia central como la media, la mediana y la moda, con el propósito de identificar el comportamiento general y la posición central de la distribución. Los resultados muestran que la media es de 41.53 años y la mediana de 41 años, valores muy similares que indican una distribución aproximadamente simétrica, sin una inclinación marcada hacia edades más altas o más bajas. Además, se identificaron dos modas (37 y 52 años), lo que sugiere la presencia de dos grupos etarios predominantes dentro de la población.

desv_est.g  <- sd(Edad, na.rm = TRUE)
coef_var.g  <- (desv_est.g / promedio.g) * 100   


tabla_dispersion  <- data.frame(Medida = c("Desviación estándar", "Coeficiente de variación (%)"),Valor  = c(desv_est.g, paste(coef_var.g, collapse = ", ")))


print(tabla_dispersion)
##                         Medida            Valor
## 1          Desviación estándar 13.7221498824855
## 2 Coeficiente de variación (%) 33.0415359559006

Se calcularon la desviación estándar y el coeficiente de variación para evaluar la dispersión de las edades respecto a la media. Los resultados muestran una desviación estándar de 13.72 años y un coeficiente de variación del 33.04%, lo que refleja una variabilidad moderada y concentrada, indicando que la mayoría de las edades se agrupan en torno al promedio de 41 años. Aunque existe cierta dispersión, esta no es excesiva, lo que sugiere que las edades de los participantes se distribuyen de manera relativamente equilibrada.

2.2. Gráfico de barras.

frec1 <- table(datos.g$Hermanos)
frec1
## 
##   0   1   2   3   4   5   6 
## 161 143 128 138 138 138 154
más_3_hermanos <- sum(datos.g$Hermanos > 3, na.rm = TRUE)
más_3_hermanos
## [1] 430

Grafico de barras

frec1 <- table(datos.g$Hermanos) 
frec2 <- frec1[c("4", "5", "6")]


bp <- barplot(frec2, col = rainbow(n = 3),horiz = FALSE, ylab = "Número de personas", border = TRUE, ylim = c(0, 180), xlab = "Número de hermanos", main = "NÚMERO DE PERSONAS CON MÁS DE 3 HERMANOS")


text(x = bp,              
  y = frec2,            
  labels = frec2,       
  pos = 3,              
  col = "black" )       

En este gráfico se observa la distrubución de personas con más de tres hermananos, en donde se evidencia, que la mayor parte posee 6 hermanos (154 personas), mientras que la cantidad de personas que tiene 4 y 5 hermanos es igual (138 personas).

Grafico de barras con ggplot

conteo <- data.frame(Categoria = "Más de 3 hermanos",Frecuencia = más_3_hermanos)


ggplot(conteo, aes(x = Categoria, y = Frecuencia)) + geom_bar(stat = "identity", fill = "blue") +  
  labs(title = "NÚMERO DE PERSONAS CON MÁS DE 3 HERMANOS",x = "", y = "Cantidad de personas") + theme_minimal() +
  geom_text(aes(label = Frecuencia), vjust = -0.1, size = 4.5) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")  
  )

A diferencia de la gráfica anterior, en esta se realiza un total de las personas que tienen más de 3 hermanos, siendo 430 personas.

3. ANÁLISIS DE VARIABLES CUANTITATIVAS CONTINUAS.

3.1. Rango, varianza y coeficiente de variación del IngresoMensual.

datos <- read_excel("Base_Estadistica_Descriptiva.xlsx")


ingresos <- datos$IngresoMensual


rango <- max(ingresos) - min(ingresos)


varianza <- var(ingresos)


cv <- sd(ingresos) / mean(ingresos)


cat("el rango es:",round(rango,2),"\n")
## el rango es: 5266.7
cat("la varianza es:",round(varianza,2),"\n")
## la varianza es: 631117.3
cat("el cv es:",round(cv*100,2),"%\n")
## el cv es: 40.22 %

3.2. Histograma en relacion a la variable estatura.

ggplot(datos, aes(x = Estatura)) +
  # Realizamos el llamado de la variable de la estaura que se encuentra en el ecxel asignadonde una variable, en este caso a "x".
  geom_histogram(aes(y = ..density..), 
                 binwidth = 0.05, 
                 fill = "#00BFFF",   
                 color = "white", alpha = 0.8) +
  geom_density(color = "red", size = 1.2) +
  labs(title = "Histograma con Curva de Densidad",
       x = "Estatura (m)", 
       y = "Densidad") +
  theme_classic(base_size = 14) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")  
  )

En la distribución de las estaturas se puede ver como se concentra principalmente entre 1.60 m y 1.80 m, siguiendo un patrón muy cercano a la normalidad, ademas de que la curva de densidad permite observar que los valores extremos son poco frecuentes a comparacion de los demás.

4. COMPARACIONES ENTRE VARIABLES.

4.1. Comparación de estatura por género.

library(dplyr)

datos %>%
  group_by(Genero) %>%
  summarise(
    Promedio = mean(Estatura, na.rm = TRUE),
    Mediana = median(Estatura, na.rm = TRUE),
    DesvEst = sd(Estatura, na.rm = TRUE),
    n = n()
  )

Al comparar las alturas promedio por género, se observa que las diferencias son pequeñas pero consistentes. El grupo “Otro” presenta la estatura promedio más alta (1.758 m), seguido del grupo femenino (1.746 m) y, finalmente, el masculino (1.740 m), que registra la menor media. Las medianas mantienen el mismo orden, lo que indica distribuciones simétricas y sin valores extremos que afecten los promedios. Además, las desviaciones estándar son similares entre los tres grupos (alrededor de 0.14 a 0.15), lo cual muestra una variabilidad comparable. En general, aunque las diferencias no son grandes, la más destacada es que el grupo “Otro” tiene una estatura promedio ligeramente superior a los demás.

tabla_genero <- datos %>%
  group_by(Genero) %>%
  summarise(
    cantidad = n(),
    `estatura promedio` = round(mean(Estatura, na.rm = TRUE), 2)
  )

flextable(tabla_genero)

Genero

cantidad

estatura promedio

Femenino

306

1.75

Masculino

339

1.74

Otro

355

1.76

En esa tabla se encuentran organizadas de mejor manera los datos, asimismo, se realizó un diagrama de barra para tener un mejor analisis grafico:

resumen <- datos %>%
  group_by(Genero) %>%
  summarise(
    cantidad = n(),
    estatura_prom = mean(Estatura, na.rm = TRUE)
  )

print(resumen)
## # A tibble: 3 × 3
##   Genero    cantidad estatura_prom
##   <chr>        <int>         <dbl>
## 1 Femenino       306          1.75
## 2 Masculino      339          1.74
## 3 Otro           355          1.76
ggplot(resumen, aes(x = Genero, y = cantidad, fill = Genero)) +
  geom_bar(stat = "identity", alpha = 0.7) +
  geom_text(aes(label = round(estatura_prom, 2)), 
            vjust = -0.5, color = "black", size = 4) +
  scale_fill_manual(values = c("Masculino" = "#00008B", "Femenino" = "#FF1493" , "Otro" = "#FF0000")) +
  labs(title = "Cantidad de personas y estatura promedio por género",
       x = "Género",
       y = "Cantidad de personas") +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")  
  )

En el gráfico se observa que la cantidad de personas en cada grupo es similar, con 306 en el femenino, 339 en el masculino y 355 en el grupo “otro”. La diferencia más notable no se encuentra entre hombres y mujeres, ya que sus promedios de estatura son casi iguales (1.75 m y 1.74 m, respectivamente). Lo que destaca visualmente es que el grupo “Otro” presenta una estatura promedio ligeramente mayor (1.76 m), superando a los demás géneros por aproximadamente un centímetro. Esta diferencia, aunque pequeña, se aprecia con claridad en las alturas de las barras, donde el grupo “Otro” alcanza el valor más alto. Asimismo, la menor cantidad de personas registadas en la base de datos son mujeres, mientras que la mayor cantidad de personas registradas están en el grupo “otros”.

4.2. Analisis de los ingresos promedio según el nivel eduactivo.

resumen_ingresos <- datos %>%
  group_by(NivelEducativo) %>%
  summarise(
    cantidad = n(),
    promedio = mean(IngresoMensual, na.rm = TRUE),
    mediana  = median(IngresoMensual, na.rm = TRUE),
    sd       = sd(IngresoMensual, na.rm = TRUE)
  ) %>%
  arrange(desc(promedio))

print(resumen_ingresos)
## # A tibble: 4 × 5
##   NivelEducativo cantidad promedio mediana    sd
##   <chr>             <int>    <dbl>   <dbl> <dbl>
## 1 Primaria            229    2037.   2080.  826.
## 2 Secundaria          288    2012.   1964.  788.
## 3 Universitario       252    1948.   1999.  745.
## 4 Técnico             231    1897.   1895.  820.
library(flextable)


tabla_ingresos <- datos %>%
  group_by(NivelEducativo) %>%
  summarise(
    Cantidad = n(),
    `Ingreso Promedio` = round(mean(IngresoMensual, na.rm = TRUE), 2),
    Mediana = round(median(IngresoMensual, na.rm = TRUE), 2),
    `Desviación Estándar` = round(sd(IngresoMensual, na.rm = TRUE), 2)
  ) %>%
  arrange(desc(`Ingreso Promedio`))


flextable(tabla_ingresos)

NivelEducativo

Cantidad

Ingreso Promedio

Mediana

Desviación Estándar

Primaria

229

2,037.13

2,080.04

825.58

Secundaria

288

2,012.24

1,964.29

788.07

Universitario

252

1,948.15

1,999.19

745.19

Técnico

231

1,897.03

1,895.20

819.84

Al analizar los ingresos promedio según el nivel educativo, se observa que las diferencias entre grupos no son muy amplias, aunque sí muestran una tendencia general. Las personas con educación primaria registran el promedio de ingreso mensual más alto (2037,13), seguidas por quienes tienen nivel secundario (2012,24) y universitario (1948,15), mientras que el grupo con formación técnica presenta el ingreso promedio más bajo (1897,03).

La mediana mantiene un patrón similar, lo que sugiere que las distribuciones no están muy sesgadas. Las desviaciones estándar (entre 745 y 826) indican una variabilidad considerable dentro de cada nivel, por lo que existen diferencias internas importantes en los ingresos.

Por lo que, se puede afirmar que, los ingresos no aumentan necesariamente con el nivel educativo: aunque se esperaría que los niveles superiores tuvieran mayores ingresos, en este caso las personas con educación primaria y secundaria muestran promedios ligeramente más altos que las de formación técnica o universitaria

5. ANÁLISIS GRÁFICO.

5.1. Diagrama de caja y bigotes para los ingresos mensuales por nivel educativo.

ggplot(datos, aes(x = NivelEducativo, y = IngresoMensual, fill = NivelEducativo)) +
  geom_boxplot(alpha = 0.9, color = "black") +
  scale_fill_brewer(palette = "Dark2") +
  labs(
    title = "Ingreso mensual por nivel educativo",
    x = "Nivel educativo",
    y = "Ingreso mensual"
  ) +
  theme_minimal(base_size = 13) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")  
  )

Se observa que los niveles Primaria y Secundaria presentan los ingresos promedio más altos, con medianas cercanas a los 2.000 unidades monetarias. Los grupos Técnico y Universitario muestran medianas ligeramente inferiores, lo que indica que, en esta muestra, mayor nivel educativo no implica necesariamente un mayor ingreso.

La diferencia entre el primer y tercer cuartil es similar en todos los niveles, lo que sugiere una variabilidad comparable en los ingresos de cada grupo. Sin embargo, los rangos totales muestran que existen diferencias internas notables, reflejando la presencia de individuos con ingresos tanto muy bajos como muy altos dentro de cada nivel educativo.

Con respecto a los valores atipicos, se identifican valores atípicos en todos los grupos, especialmente en los niveles Técnico y Primaria, tanto por ingresos muy bajos como por ingresos significativamente altos. Esto indica que algunos casos se desvían considerablemente del patrón general.

5.2. Gráfico de dispersión de la relación entre la edad y el ingreso mensual.

ggplot(datos, aes(x = Edad, y = IngresoMensual)) +
  geom_point(color = "#00BFFF", size = 3, alpha = 0.7) +
  geom_smooth(method = "lm", color = "#8B0A50", se = TRUE) +
  labs(
    title = "Relación entre Edad e Ingreso Mensual",
    x = "Edad (años)",
    y = "Ingreso mensual ($)"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")  
  )
## `geom_smooth()` using formula = 'y ~ x'

En el gráfico de dispersión se observa la distribución de los ingresos mensuales en función de la edad de los participantes. Los puntos azules representan cada observación individual, mientras que la línea morada muestra la tendencia general mediante un ajuste lineal.

De manera general, no se aprecia una tendencia clara o pronunciada entre la edad y el ingreso mensual. La línea de tendencia es casi horizontal, lo que indica que la variación del ingreso no depende significativamente de la edad. Es decir, tanto las personas jóvenes como las de mayor edad presentan ingresos distribuidos en un rango similar.

Aunque se observan algunos valores atípicos (personas con ingresos más altos o más bajos que el promedio), estos casos no modifican de forma sustancial el patrón general. La dispersión de los puntos sugiere que otros factores como el nivel educativo, la ocupación o la experiencia laboral; estos podrían tener una mayor influencia sobre el ingreso que la edad en sí misma.

6. ANÁLISIS CONJUNTO.

6.1. Tabla de doble entrada de la distribución conjunta de Genero y NivelEducativo.

tabla_conjunta <- table(datos$Genero, datos$NivelEducativo)
tabla_conjunta
##            
##             Primaria Secundaria Técnico Universitario
##   Femenino        72         88      71            75
##   Masculino       74         93      82            90
##   Otro            83        107      78            87

El grupo “Otro” presenta el mayor número de personas en casi todos los niveles educativos, especialmente en secundaria (107 personas), donde alcanza la cifra más alta de toda la tabla.

El género masculino también muestra una participación relativamente alta, sobre todo en el nivel universitario (90 personas) y secundaria (93 personas).

El género femenino tiene valores ligeramente más bajos en comparación con los otros dos géneros, aunque mantiene una distribución bastante equilibrada en todos los niveles educativos, siendo, al igual que en los otros dos grupos, el nivel eduacativo de secundaria, el cual presenta mayor número de personas.

Los datos reflejan que no existen diferencias extremadamente marcadas entre los géneros, pero sí una ligera predominancia del grupo “Otro” y del género masculino en los niveles más altos de educación (secundaria, técnico y universitario).

Esto nos muestra una distribución educativa bastante homogénea entre los géneros, sin evidencias de una concentración clara en un solo grupo, aunque con pequeñas variaciones en los totales por nivel; siendo la educación secundaria la que presenta mayor cantidad de personas en todos los generos.

6.2. Proporción de personas con más de 2 hermanos que tienen un ingreso mensual superior a $3000.

proporcion <- datos %>%
  filter(Hermanos > 2, IngresoMensual > 3000) %>%  
  nrow() / nrow(datos)  

proporcion * 100
## [1] 5.3

Al calcular la proporción se obtuvo un valor del 5.3%. Esto significa que solo una pequeña parte de la población encuestada cumple simultáneamente con ambas condiciones. Este resultado sugiere que la mayoría de las personas con ingresos altos pertenecen a familias más pequeñas, o que tener más de dos hermanos no está asociado con niveles elevados de ingreso dentro de la muestra analizada.

En términos generales, la baja proporción refleja que la coexistencia de un alto número de hermanos y un ingreso mensual superior a $3000 es poco frecuente, lo que podría vincularse con factores económicos y sociales, como la distribución del ingreso, el tamaño promedio de las familias o el nivel educativo alcanzado.