El el presente trabajo se realizará un análisis descriptivo de una base de datos que contiene información sobre características sociodemográficas y económicas de un grupo de estudiantes.
1. Análisis de variables cualitativas
En este apartado se estudiará la proporción de estudiantes por nivel educativo, construyendo una tabla de frecuencias y un gráfico de barras. Asi mismo se realizará el porcentaje de personas por género y se representará en un gráfico de torta, con el fin de observar la distribución de estas categorías.
2. Análisis de Variables Cuantitativas Discretas
Se calcularán medidas de tendencia central y dispersión, como la media, mediana y desviación estándar de la variable edad. Además, se identificará cuántas personas tienen mas de tres hermanos, representando los resultados en un gráfico de barras.
3. Análisis de Variables Cuantitativas Continuas
Se determinarán medidas de dispersión como el rango, la varianza y el coeficiente de variación de la variable Ingreso Mensual. También se construirá un histograma de la Estatura, con el fin de analizar su distribución.
4. Comparaciones entre Variables
Se compararán las estaturas promedio según el género, resaltando las diferencias más notorias. Además, se analizará si los ingresos mensuales presentan variaciones de acuerdo con el nivel educativo alcanzado.
5. Análisis Gráfico
Se elaborará un diagrama de caja y bigotes para los ingresos mensuales en función del nivel educativo, y se construirá un gráfico de dispersión entre Edad e Ingreso Mensual, con el objetivo de identificar posibles tendencias o relaciones entre estas variables.
6. Análisis Conjunto
Se generará una tabla de doble entrada que muestre la distribución conjunta de Género y Nivel Educativo. Finalmente, se calculará la proporción de personas con más de 2 hermanos que presentan un ingreso mensual superior a $3000, con el propósito de integrar distintas variables en un mismo análisis.
Primero se importa con este código la base de datos desde un archivo de Excel a RStudio para su análisis estadístico.
Base_Estadistica_Descriptiva <- read_excel("Base_Estadistica_Descriptiva.xlsx")
View(Base_Estadistica_Descriptiva)
Despues de haber importado la base de datos se tomará una muestra de 100 registros de la base de datos Base_Estadistica_Descriptiva. Esta muestra aleatoria se usa tomando una semilla con valor de 7219.
set.seed(7219) #Definimos una semilla
datos.p <- sample_frac(Base_Estadistica_Descriptiva, size = 0.1, replace = FALSE) #Tomamos una muestra del 10% del total de datos
str(datos.p)
head(datos.p, 5)
I. Proporción de estudiantes por cada nivel educativo
Para conocer cómo se distribuyen los estudiantes según su nivel educativo, se calculó la proporción de cada categoría dentro de la base de datos. Este análisis permite identificar qué nivel de formación es más frecuente entre los estudiantes y a su vez, evaluar el peso relativo de cada grupo en comparación con el total.
Para cada categoría del nivel educativo, la frecuencia relativa se obtiene como:
\[f_i = \frac{n_i}{N}\]
Donde:
\(\small{\textbf{Número de individuos en la categoría } i: \quad n_i}\)
\(\small{\textbf{Número total de individuos en la muestra:} \quad N}\)
El porcentaje se calcula como:
\[p_i = \frac{n_1}{N} \times 100\]
A continuación se elabora una tabla de frecuencias del nivel educativo de los estudiantes registrados en el conjunto de datos datos.p. El objetivo de esta tabla es resumir y visualizar la distribución de los estudiantes según su nivel educativo, facilitando en análisis descriptivo de la información.
# Tabla de frecuencias absolutas
tabla_nivel <- table(datos.p$NivelEducativo)
# Proporción (frecuencia relativa)
prop_nivel <- prop.table(tabla_nivel)
# Construir tabla de frecuencias
t.nivel <- data.frame(
"Nivel Educativo" = names(tabla_nivel),
"Frecuencia" = as.vector(tabla_nivel),
"Proporcion" = round(as.vector(prop_nivel), 3)
)
# Crear flextable
ft <- flextable(t.nivel)
# Centrar los datos de todas las columnas
ft <- align(ft, align = "center", part = "all")
# Mostrar tabla
ft
Nivel.Educativo | Frecuencia | Proporcion |
---|---|---|
Primaria | 21 | 0.21 |
Secundaria | 34 | 0.34 |
Técnico | 24 | 0.24 |
Universitario | 21 | 0.21 |
Análisis de la distribución por nivel educativo
En el análisis de la distribución de estudiantes por nivel educativo muestra que la mayor proporción corresponde a Secundaria (34%), mientras que los niveles Primaria y Universitario presentan la proporción mas baja , con un 21% cada uno. El nivel Técnico concentra un 24% de los estudiantes, ubicándose en un punto intermedio. Estos resultados indican que la mayoría de casos se encuentran con nivel educativo de secundaria, mientras que los niveles primaria y universitarios son menos representativos dentro de la muestra.
II. Tabla de frecuencias y gráfico de barras
Con el fin de resumir la información, se construyo una Tabla de frecuencias que incluye las frecuencias absolutas y los porcentajes. Además, se elaboró un gráfico de barras, que permite visualizar claramente la diferencia en la representación de cada nivel educativo.
La tabla de frecuencias combina tres elementos principales:
\(\small {\textbf{Frecuencia absoluta:} \quad n_i}\)
\(\small {\textbf{Frecuencia relativa:} \quad f_i = \frac{n_i}{N}}\)
\(\small {\textbf{Porcentaje:} \frac{n_i}{N} \times 100}\)
En este apartado se presentara un análisis de la distribución de casos según su nivel educativo. para ello, esta vez se va a contruir una tabla de frecuencias , que permite resumir de manera ordenada cuántas personas pertencen a cada nivel educativo. Posteriormente, se elabora un gráfico de barras con ggplot2 para visualizar de forma clara y rápida la frecuencia de cada categoría, facilitando la interpretación de los datos.
#Tabla de frecuencia
# Tabla de frecuencias absolutas
tabla_nivel <- table(datos.p$NivelEducativo)
# Proporción (frecuencia relativa)
prop_nivel <- prop.table(tabla_nivel)
# Construir tabla de frecuencias
t.nivel <- data.frame(
"Nivel Educativo" = names(tabla_nivel),
"Frecuencia" = as.vector(tabla_nivel),
"Proporcion" = round(as.vector(prop_nivel), 3),
"Porcentaje" = paste0(round(as.vector(prop_nivel) * 100, 2), "%")
)
# Crear flextable
ft <- flextable(t.nivel)
# Centrar los datos de todas las columnas
ft <- align(ft, align = "center", part = "all")
# Mostrar tabla
ft
Nivel.Educativo | Frecuencia | Proporcion | Porcentaje |
---|---|---|---|
Primaria | 21 | 0.21 | 21% |
Secundaria | 34 | 0.34 | 34% |
Técnico | 24 | 0.24 | 24% |
Universitario | 21 | 0.21 | 21% |
#gráfico de barras con ggplot2
ggplot(data = datos.p) +
geom_bar(aes(x = NivelEducativo, fill = NivelEducativo),
width = 0.6,
color = "black") +
labs(
title = "Distribución de estudiantes por Nivel Educativo",
x = "Nivel Educativo",
y = "Frecuencia absoluta"
) +
scale_fill_manual(values = c("#0033A0", "#000000", "#F5F5DC", "#0066Cc")) +
ylim(0, 70) +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5)
)
Análisis gráfico de la distribución por Nivel Educativo
Esta nueva tabla de frecuencias confirma lo observado en la tabla: la categoría con mayor número de estudiantes corresponde al nivel Secundaria, mientras que los demás niveles presentan frecuencias similares pero inferiores.
El gráfico de barras refuerza esta información visualmente: se observa claramente que la barra correspondiente a secundaria es la más alta, seguida por Técnico, mientras que Primaria y Universitario son más bajas y de altura similar. Esto nos confirma que, dentro de la muestra, la mayoria de los casos se ubica en niveles educativos de secundaria, y los niveles de primaria y universidad son menos representativos.
En conjunto, la tabla y el gráfico nos permite identificar rápidamente la distribución de los casos por nivel educativo, facilitando la interpretación de la estructura de la muestra.
III. ¿Qué porcentaje de las personas pertenece a cada género? Represente sus resultados en un gráfico de pastel.
En este apartado se analiza la distribución de la variable Género dentro de la muestra. Para ello, se construyó un gráfico de pastel que representa visualmente la proporción de observaciones pertenecientes a cada categoría. El tamaño de cada porción refleja el porcentaje relativo de individuos según su género, lo que permite identificar de manera rápida y clara cuál es la composición de la muestra respecto a esta variable.
# Asegurarnos de que Genero sea factor
datos.p$Genero <- as.factor(datos.p$Genero)
# Contar frecuencia por género
genero_tabla <- datos.p %>%
count(Genero) %>%
mutate(Label = paste0(round(n / sum(n) * 100, 1), "%"))
#Gráfica de pastel con ggplot2
ggplot(genero_tabla, aes(x = "", y = n, fill = Genero)) +
geom_bar(stat = "identity", width = 1, color = "black") +
coord_polar(theta = "y") +
geom_text(aes(label = Label), position = position_stack(vjust = 0.5)) +
labs(title = "Distribucion de casos por genero") +
scale_fill_manual(values = c("Femenino" = "#0033A0",
"Masculino" = "#FFFFFF",
"Otro" = "#0066CC")) +
theme_void() +
theme(plot.title = element_text(hjust = 0.5))+
theme(legend.position = "right")
Análisis gráfico de la distribución por género
El gráfico de pastel evidencia la distribución relativa de la variable Género en la muestra. se observa que:
La categoria Otro concentra el 37% de las observaciones, constituyendose como el grupo modal.
El género masculino representa el 32% de los casos, mientrasque el género femenino alcanza 31%
Las proporciones muestran una dispersion reducida entre categorías, con un rango porcentual de apenas 6 puntos porcentuales el cual es la diferencia del 37% al 31%. Este resultado sugiere una composición equilibrada de la muestra.
Desde el punto de vista descriptivo, la distribución refleja una heterogeneidad moderada, donde las tres modalidades de la variable presentan frecuencias relativas cercanas entre sí, lo que resulta pertinente para garantizar comparabilidad en futuros análisis donde se deseen comparar resultados entre grupos.
I. Calcule la media, mediana y desviación estándar de la variable Edad.
Para poder obtener la media, la mediana y la desviación estándar se usan las funciones mean, median y sd del paquete base de R
La fórmula para encontrar la media es:
\[ \bar{x} = \frac{1}{n}\sum_{i =1}^n{x_i} \]
La fórmula para encontrar la mediana es: \[ M = \begin{cases} \ x_{(\frac {n+1}{2})} & \text{si n es impar} \\ \frac {x_{(\frac {n}{2})}+x_{(\frac {n+1}{2})}}{2} & \text{si n es par} \end{cases} \] La fórmula para encontrar la desviación estándar es:
\[ \small S = \sqrt{\frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2} \] En esta sección se realizara el análisis descriptivo de la variable edad. Con base en las fórmulas estadísticas tradicionales de media, mediana y desviación estándar, se emplean las funciones que nos ofrece R para calcular de manera automática estos valores los cuales los vamos a representar en la siguiente tabla.
#Tabla para "Media", "Mediana" y "Desviacion estándar"
resumen_edad <- data.frame(
Medidas_Centrales = c("Media", "Mediana", "Desviacion estandar"),
valor = round(c(mean(datos.p$Edad, na.rm = TRUE),
median(datos.p$Edad, na.rm = TRUE),
sd(datos.p$Edad, na.rm = TRUE)), 2)
)
# Crear flextable
ft <- flextable(resumen_edad)
# Centrar los datos de todas las columnas
ft <- align(ft, align = "center", part = "all")
# Mostrar tabla
ft
Medidas_Centrales | valor |
---|---|
Media | 41.68 |
Mediana | 41.50 |
Desviacion estandar | 13.68 |
Análisis de las Medidas Centrales
La variable Edad presenta una media de 41.68 años, lo que indica que, en promedio, los individuos de la muestra tienen alrededor de 42 años. La mediana es de 41.5 años, valor muy cercano a la media, lo que sugiere que la distribución de la edad es bastante simétrica, sin presencia marcada de los valores extremos hacia ninguno de los lados.
Por otro lado, la desviación estándar de 13.68 años muestra que existe una variabilidad moderada en las edades, es decir, los datos no se concentran de forma muy estrecha alrededor de la media, sino que hay cierta dispersión entre las edades de los participantes.
En conjunto, estos resultados indican que la mayoría de los individuos tienen edades similares cercanas a los 40 años, aunque existen personas tanto mas jovenes como mayores que amplían ligeramente el rango general de la distribución.
II. ¿Cuántas personas tienen más de 3 hermanos? Represente esta información en un gráfico de barras.
En esta sección se analiza la variable Hermanos con el propósito de identificar cuántas personas dentro de la muestra tienen más de tres hermanos.
Para facilitar la interpretación de los resultados, se utiliza una tabla de frecuencias y un gráfico de barras, los cuales permiten visualizar de manera clara y comparativa la cantidad de personas con más de tres hermanos frente a aquellas con tres o menos.
# Contar cuántas personas tienen más de 3 hermanos
mas_de_3_hermanos <- sum(datos.p$Hermanos > 3)
# Contar cuántas tienen 3 o menos
menos_o_igual_3_hermanos <- sum(datos.p$Hermanos <= 3)
# Crear tabla resumen
hermanos_tabla <- data.frame(
"Categoría" = c("Más de tres hermanos", "Menos de tres hermanos"),
"Frecuencia" = c(mas_de_3_hermanos, menos_o_igual_3_hermanos)
)
# Crear flextable
ft <- flextable(hermanos_tabla)
# Centrar los datos de todas las columnas
ft <- align(ft, align = "center", part = "all")
# Mostrar tabla
ft
Categoría | Frecuencia |
---|---|
Más de tres hermanos | 41 |
Menos de tres hermanos | 59 |
# Gráfico de barras
library(ggplot2)
ggplot(hermanos_tabla, aes(x = Categoría, y = Frecuencia, fill = Categoría)) +
geom_bar(stat = "identity") +
labs(title = "Distribución de personas según cantidad de hermanos",
x = "Categoría",
y = "Frecuencia") +
scale_fill_manual(values = c("#0033A0","#F5F5DC")) +
ylim(0, 70) +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5))
Análisis descriptivo De acuerdo con los resultados obtenidos, se identificaron 41 casos en los que las personas tienen más de tres hermanos, mientras que 59 casos corresponden a personas con tres o menos hermanos. Esto muestra que la mayoría de los casos analizados se concentran en el grupo con menor número de hermanos, representando aproximadamente el 59% de la muestra, frente al 41% de quienes tienen más de tres.
El gráfico de barras permite observar claramente esta diferencia, facilitando la comparación visual entre ambos grupos. En conclusión, los datos evidencian que los casos con tres o menos hermanos son más frecuentes dentro de la muestra analizada.
I. Calcule el rango, la varianza y el coeficiente de variaci´on de la variable Ingreso Mensual.
# Seleccionar la variable IngresoMensual de la base de datos
ingreso_muestra <- datos.p$IngresoMensual
# Limpiar datos: conservar solo ingresos positivos
ingreso_limpio <- ingreso_muestra[ingreso_muestra > 0]
# Calcular rango del ingreso (mínimo y máximo)
rango_ingreso <- range(ingreso_limpio)
# Calcular varianza del ingreso
varianza_ingreso <- var(ingreso_limpio)
# Calcular coeficiente de variación (CV) en porcentaje
cv_ingreso <- (sd(ingreso_limpio) / mean(ingreso_limpio)) * 100
## ANÁLISIS DE INGRESO MENSUAL
## Tamaño de muestra después de limpieza: 100
## Rango: 6.65 - 3785.42
## Varianza: 723339.9
## Coeficiente de variacion: 42.48 %
## Media: 2001.88
## Desviacion estandar: 850.49
## Mediana: 2090.13
# Gráfico de histograma del IngresoMensual
ggplot(data = data.frame(IngresoMensual = ingreso_limpio),
aes(x = IngresoMensual)) +
# Crear histograma con barras de ancho $300
geom_histogram(binwidth = 300, fill = "steelblue", color = "white", alpha = 0.7) +
# Línea vertical en la media del ingreso
geom_vline(aes(xintercept = mean(IngresoMensual)), color = "red",
linetype = "dashed", size = 1) +
# Etiquetas del gráfico
labs(title = "Distribucion del Ingreso Mensual (Muestra n=100)",
subtitle = paste("Media =", round(mean(ingreso_limpio), 2)),
x = "Ingreso Mensual ($)",
y = "Frecuencia") +
# Tema minimalista para fondo limpio
theme_minimal()
El análisis revela que la distribución del ingreso mensual en la muestra presenta una marcada heterogeneidad, evidenciada por un coeficiente de variación del 42.48% que supera considerablemente el umbral de alta variabilidad, un rango extremadamente amplio que va desde $6.65 hasta $3,785.42 mensuales, y una varianza de 723,339.90, indicando que los datos están muy dispersos alrededor de la media de $2,001.88. Esta significativa dispersión refleja una notable desigualdad económica entre los individuos estudiados, donde no existe un ingreso representativo del grupo y las diferencias salariales son sustanciales, posiblemente influenciadas por diversos factores socioeconómicos, educativos y laborales.
II. Construya un histograma de la variable Estatura. ¿Qué puede decir sobre su distribución?
## ANÁLISIS DE ESTATURA
## Tamaño de muestra despues de limpieza: 100
## Media: 1.7488 m
## Mediana: 1.745 m
## Desviación estandar: 0.1541 m
## Mínimo: 1.5 m
## Maximo: 2 m
## Rango: 0.5 m
## Coeficiente de variacion: 8.81 %
# Gráfico de histograma con densidad de la variable Estatura
ggplot(data = data.frame(Estatura = estatura_limpia), aes(x = Estatura)) +
# Histograma con barras de ancho 0.03 m
geom_histogram(binwidth = 0.03, fill = "lightblue", color = "black", alpha = 0.7) +
# Curva de densidad superpuesta para visualizar la forma de la distribución
geom_density(aes(y = after_stat(count) * 0.03), color = "darkblue", size = 1) +
# Línea vertical en la media de estaturas
geom_vline(aes(xintercept = mean(Estatura)), color = "red",
linetype = "dashed", size = 1) +
# Etiquetas del gráfico
labs(title = "Distribución de Estaturas (Muestra n=100)",
subtitle = paste("Media =", round(mean(estatura_limpia), 2), "m"),
x = "Estatura (metros)",
y = "Frecuencia") +
# Tema minimalista para fondo limpio
theme_minimal()
ggplot(data = data.frame(Estatura = estatura_limpia), aes(x = Estatura)) +
# Histograma con barras de 0.03 m de ancho
geom_histogram(binwidth = 0.03, fill = "lightgreen", color = "black", alpha = 0.7) +
# Línea vertical punteada en la media (roja)
geom_vline(aes(xintercept = mean(Estatura)), color = "red",
linetype = "dashed", size = 1, alpha = 0.8) +
# Línea vertical punteada en la mediana (azul)
geom_vline(aes(xintercept = median(Estatura)), color = "blue",
linetype = "dashed", size = 1, alpha = 0.8) +
# Etiquetas del gráfico con media, mediana y tamaño de la muestra
labs(title = "Distribución de Estaturas - Análisis Detallado",
subtitle = paste("Media =", round(mean(estatura_limpia), 2), "m |",
"Mediana =", round(median(estatura_limpia), 2), "m |",
"n =", length(estatura_limpia)),
x = "Estatura (metros)",
y = "Frecuencia") +
# Tema minimalista para fondo limpio
theme_minimal() +
# Anotar la media en el gráfico
annotate("text", x = mean(estatura_limpia), y = 8,
label = paste("Media =", round(mean(estatura_limpia), 2)),
color = "red", hjust = -0.1, size = 3) +
# Anotar la mediana en el gráfico
annotate("text", x = median(estatura_limpia), y = 7,
label = paste("Mediana =", round(median(estatura_limpia), 2)),
color = "blue", hjust = 1.1, size = 3)
# GRÁFICO DE DENSIDAD para mejor visualización de la forma
ggplot(data = data.frame(Estatura = estatura_limpia), aes(x = Estatura)) +
geom_density(fill = "orange", alpha = 0.5, color = "darkorange") +
labs(title = "Distribución de Densidad de Estaturas",
subtitle = "Análisis de la forma de la distribución",
x = "Estatura (metros)",
y = "Densidad") +
theme_minimal()
##
## ANÁLISIS DE LA DISTRIBUCIÓN DE ESTATURA
## 1. FORMA DE LA DISTRIBUCIÓN:
## - La distribución parece seguir una forma acampanada
## - Característica típica de variables con distribución normal
## - Se observa cierta simetría alrededor de la media
## 2. MEDIDAS DE TENDENCIA CENTRAL:
## - Media y mediana son muy cercanas: 1.7488 vs 1.745
## - Esto sugiere una distribución simétrica
## 3. DISPERSIÓN:
## - Coeficiente de variación bajo: 8.81 %
## - Indica homogeneidad en las estaturas de la muestra
## - Rango típico para una población adulta
## 4. VALORES ATÍPICOS:
## - No se observan valores extremos evidentes
## - Todas las estaturas están en un rango biológicamente plausible
El análisis de la distribución de estaturas en la muestra revela un patrón característico de variables biológicas, mostrando una distribución simétrica y acampanada típica de la normalidad, con la media y mediana muy cercanas entre sí, lo que indica equilibrio en la distribución. A diferencia del ingreso mensual que presentaba alta dispersión, la estatura exhibe una homogeneidad notable con un coeficiente de variación del 8.81%, valor considerablemente bajo que refleja la influencia predominante de factores genéticos sobre esta variable antropométrica. La ausencia de valores atípicos extremos y la concentración de los datos alrededor del valor central confirman la estabilidad y predictibilidad de esta característica física en la población estudiada, contrastando marcadamente con la variabilidad del 42.48% observada en variables socioeconómicas como el ingreso.
I.Compare las alturas promedio (Estatura) por género (Genero). ¿Cuál es la diferencia más destacada? En este apartado se realiza un análisis comparativo de la estatura promedio entre hombres y mujeres con el objetivo de identificar diferencias significativas según el género y observar la dispersión de los datos dentro de cada grupo; para ello se filtran y limpian los datos manteniendo únicamente valores plausibles de estatura (1.4 a 2.1 metros), se calculan estadísticas descriptivas como la media, mediana y desviación estándar por género, y se visualizan los resultados mediante un gráfico de barras que muestra la estatura promedio de hombres y mujeres con etiquetas indicando los valores de las medias, lo que permite obtener una visión clara de las diferencias promedio.
# Calcular promedio de estatura para hombres
promedio_hombres <- mean(datos.p$Estatura[datos.p$Genero == "Masculino"], na.rm = TRUE)
# Mostrar resultados
cat("Promedio de estatura para hombres:", round(promedio_hombres, 2), "m\n")
## Promedio de estatura para hombres: 1.74 m
# Calcular promedio de estatura para mujeres
promedio_mujeres <- mean(datos.p$Estatura[datos.p$Genero == "Femenino"], na.rm = TRUE)
# Mostrar resultados
cat("Promedio de estatura para mujeres:", round(promedio_mujeres, 2), "m\n")
## Promedio de estatura para mujeres: 1.73 m
# Calcular promedio de estatura para otro
promedio_otro <- mean(datos.p$Estatura[datos.p$Genero == "Otro"], na.rm = TRUE)
# Mostrar resultados
cat("Promedio de estatura para otro:", round(promedio_otro, 2), "m\n")
## Promedio de estatura para otro: 1.77 m
# Crear resumen de estatura por género
estatura_por_genero <- datos.p %>%
group_by(Genero) %>%
summarise(
n = n(),
media = mean(Estatura, na.rm = TRUE),
mediana = median(Estatura, na.rm = TRUE),
sd = sd(Estatura, na.rm = TRUE)
)
# Diagrama de barras de la media de estatura por género
ggplot(data = estatura_por_genero, aes(x = Genero, y = media, fill = Genero)) +
# Crear barras con altura = media de estatura
geom_bar(stat = "identity", color = "black", alpha = 0.8) +
# Agregar etiquetas encima de cada barra mostrando la media
geom_text(aes(label = round(media, 2)), vjust = -0.5, size = 4) +
# Etiquetas del gráfico
labs(title = "Estatura Promedio por Genero",
x = "Genero",
y = "Media de Estatura (m)") +
# Paleta de colores
scale_fill_manual(values = c("Femenino" = "#0033A0",
"Masculino" = "#FFFFFF",
"Otro" = "#0066CC")) +
# Tema minimalista
theme_minimal() +
# Centrar títulos y limpiar fondo
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
plot.subtitle = element_text(hjust = 0.5))
Al comparar las alturas promedio por género en la muestra, se observan los siguientes valores: hombres 1.74 m, mujeres 1.73 m, y la categoría Otro 1.77 m. La diferencia más destacada corresponde a la categoría Otro, que es ligeramente más alta que los promedios de hombres y mujeres. Entre hombres y mujeres, la diferencia es mínima (1 cm), lo que indica que la estatura promedio es prácticamente similar en estos dos grupos.
Desde el punto de vista estadístico, estas diferencias son pequeñas y sugieren que el género no es un factor determinante para la altura promedio en esta muestra. Sin embargo, el promedio más alto de la categoría “Otro” podría reflejar una mayor dispersión o un efecto del tamaño reducido de ese grupo. En general, la estatura muestra una distribución equilibrada entre los géneros principales, y la categoría Otro representa la única variación notable en los promedios.
II.Analice si los ingresos promedio (IngresoMensual) varían según el nivel educativo (NivelEducativo).
Se realiza un análisis descriptivo del ingreso mensual según el nivel educativo para identificar patrones y diferencias entre las categorías. Se calculan medidas de tendencia central como la media y la mediana, que permiten observar el nivel promedio de ingreso en cada grupo, así como medidas de dispersión como la desviación estándar, que reflejan la variabilidad dentro de cada nivel educativo. Además, se construyen tablas resumidas que presentan la frecuencia de observaciones y los valores estadísticos relevantes por categoría. Para visualizar de manera más completa la distribución de los ingresos y detectar posibles valores atípicos, se utiliza un diagrama de cajas (boxplot), que permite comparar la mediana, la dispersión y la presencia de outliers entre los distintos niveles educativos de manera más informativa que un gráfico de barras.
# Crear resumen de IngresoMensual por NivelEducativo
ingreso_por_nivel <- datos.p %>%
group_by(NivelEducativo) %>%
summarise(
n = n(),
ingreso_promedio = mean(IngresoMensual, na.rm = TRUE),
mediana = median(IngresoMensual, na.rm = TRUE),
sd = sd(IngresoMensual, na.rm = TRUE)
)
ft_ingreso <- flextable(ingreso_por_nivel) %>%
align(align = "center", part = "all") %>%
autofit() %>%
bold(part = "header") %>%
bg(part = "header", bg = "#0033A0") %>%
color(part = "header", color = "white")
ft_ingreso
NivelEducativo | n | ingreso_promedio | mediana | sd |
---|---|---|---|---|
Primaria | 21 | 1,859.563 | 1,817.89 | 853.8658 |
Secundaria | 34 | 1,993.515 | 1,934.53 | 936.9335 |
Técnico | 24 | 2,062.872 | 2,078.13 | 749.3480 |
Universitario | 21 | 2,088.059 | 2,241.12 | 850.6493 |
# Boxplot de ingreso mensual según nivel educativo
ggplot(datos.p, aes(x = NivelEducativo, y = IngresoMensual, fill = NivelEducativo)) +
# Dibujar cajas mostrando mediana, cuartiles y posibles outliers
geom_boxplot(alpha = 0.7, color = "black") +
# Etiquetas del gráfico
labs(title = "Distribucion del Ingreso Mensual por Nivel Educativo",
x = "Nivel Educativo",
y = "Ingreso Mensual ($)") +
# Paleta de colores manual para cada categoría
scale_fill_manual(values = c("Primaria" = "#0033A0",
"Secundaria" = "#0066CC",
"Tecnico" = "#00A0FF",
"Universitario" = "#FFFFFF")) +
# Tema minimalista para limpieza visual
theme_minimal() +
# Centrar títulos y remover leyenda innecesaria
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
plot.subtitle = element_text(hjust = 0.5),
legend.position = "none")
Análisis del Ingreso Mensual según Nivel Educativo
Los ingresos promedio sí varían según el nivel educativo, mostrando una tendencia general ascendente a medida que aumenta el grado de formación académica. Las personas con Primaria tienen un ingreso promedio de 1,859.56, que aumenta a 1,993.52 en Secundaria, 2,062.87 en Técnico y $2,088.06 en Universitario. Esto indica que, en promedio, los niveles educativos más altos están asociados con mayores ingresos mensuales.
Aunque la diferencia entre los niveles más altos (Técnico y Universitario) no es muy pronunciada, los grupos de menor educación presentan ingresos claramente menores. Además, la dispersión de los ingresos (desviación estándar) muestra que dentro de cada nivel educativo existen variaciones individuales, pero la tendencia general confirma que a mayor educación, mayores ingresos promedio. Por lo tanto, se puede afirmar que el nivel educativo influye positivamente en el ingreso mensual.
I. Diagrama de Caja y Bigotes para los ingresos mensuales (Ingreso-Mensual) por nivel educativo (NivelEducativo).
El diagrama permite observar cómo se distribuyen los ingresos mensuales de los encuestados. Si la caja está más extendida hacia la derecha, indica una distribución asimétrica positiva, es decir, hay personas con ingresos significativamente altos. En cambio, si la caja es más larga hacia la izquierda, la asimetría es negativa. Los puntos aislados representan valores atípicos o personas con ingresos muy distintos al resto.
El box-plot se construye usando 5 números que son:
\[ Q_1,Q_2,Q_3 \] Además del límite superior e inferior. Para encontrar estos limites se utiliza el rango intercuartílico, que es la diferencia entre el tercer y el primer cuartil.
\[ RI = Q_3 - Q_1 \]
Así:
q1 <- quantile(datos.p$IngresoMensual, probs = 0.25);q1 #Primer Cuartil
## 25%
## 1412.815
q2 <- quantile(datos.p$IngresoMensual, probs = 0.5); q2 #Segundo Cuartil
## 50%
## 2090.13
q3 <- quantile(datos.p$IngresoMensual, probs = 0.75); q3 #Tercer Cuartil\\
## 75%
## 2525.46
#Rango Intercuartílico
ri <- q3-q1; ri
## 75%
## 1112.645
li <- q1 - 1.5 * ri; li # Límite inferior
## 25%
## -256.1525
ls <- q3 + 1.5 * ri; ls # Límite superior
## 75%
## 4194.427
#Gráfico de caja y bigotes
boxplot(datos.p$IngresoMensual,
horizontal = TRUE,
main = "Diagrama de Caja y Bigotes de Ingreso Mensual",
xlab = "Nivel Educativo",
ylab = "Ingreso Mensual ($)",
col = "lightblue",
border = "darkblue")
El diagrama de caja y bigotes de la variable Ingreso Mensual muestra que
la mayoría de los estudiantes tienen ingresos concentrados entre
aproximadamente 1200 y 2500, con una mediana cercana a los 2000; sin
embargo, se observan valores atípicos tanto en los ingresos bajos como
en los altos, lo que evidencia la existencia de casos aislados que se
apartan del comportamiento central.
II. Gráfico de Dispersíon entre Edad e Ingreso Mensual
Se analiza la relación entre las variables Edad e Ingreso Mensual. Para esto se utiliza un gráfico de dispersión, donde cada punto representa un individuo de la muestra.
Este tipo de gráfico permite identificar:
Si existe una tendencia creciente (a mayor edad, mayores ingresos).
Si existe una tendencia decreciente (a mayor edad, menores ingresos).
No hay relación aparente entre ambas variables.
# Grafico de dispersion de Edad vs IngresoMensual
ggplot(datos.p, aes(x = Edad, y = IngresoMensual)) +
geom_point(color = "darkblue", size = 1.5, alpha = 0.6) + # Puntos
geom_smooth(method = "lm", color = "skyblue", se = FALSE, linewidth = 1.2) + # Linea de tendencia
labs(
title = "Relacion entre Edad e Ingreso Mensual",
x = "Edad",
y = "Ingreso Mensual ($)"
) +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5))
## `geom_smooth()` using formula = 'y ~ x'
El gráfico de Dipersión muestra que no exiate una relación fuerte entre ambas variables, pues los puntos se encuentran bastante dispersos; sin embargo, la línea de tendencia presenta una pendiente ligeramente positiva, lo que sugiere que a medida que aumenta la edad los ingresos tienden a incrementarse de forma muy moderada.
I.Tabla de doble entrada entre Genero y Nivel Educativo.
Este análsis permite observar el como se distribuyen las personas segun su género y nivel educativo, identificando si existe algun patron o predominancia entre los factores. La tabla de doble entrada permite analizar la a distribución conjunta de dos variables cualitativas.
# Crear tabla doble de frecuencias entre Género y NivelEducativo
tabla_doble <- table(datos.p$Genero, datos.p$NivelEducativo)
# Agregar totales por fila y columna
tabla_doble_con_totales <- addmargins(tabla_doble)
# Convertir la tabla en un data frame para manipulación y formato
tabla_doble_df <- as.data.frame.matrix(tabla_doble_con_totales)
# Añadir la columna de Género (filas originales)
tabla_doble_df <- cbind(Género = rownames(tabla_doble_df), tabla_doble_df)
# Crear tabla visual con flextable
ft_tabla_doble <- flextable(tabla_doble_df)
# Centrar los datos en todas las columnas
ft_tabla_doble <- align(ft_tabla_doble, align = "center", part = "all")
# Ajustar automáticamente el ancho de las columnas
ft_tabla_doble <- autofit(ft_tabla_doble)
# Mostrar la tabla final
ft_tabla_doble
Género | Primaria | Secundaria | Técnico | Universitario | Sum |
---|---|---|---|---|---|
Femenino | 6 | 13 | 7 | 5 | 31 |
Masculino | 7 | 10 | 8 | 7 | 32 |
Otro | 8 | 11 | 9 | 9 | 37 |
Sum | 21 | 34 | 24 | 21 | 100 |
Se observa que el grupo Otro concentra el mayor número de casos, mientras que los géneros Masculino y Femenino presentan valores similares,alrededor de los 31-32. En cuanto al nivel educativo, la Secundaria es la más frecuente en todos los géneros, alcanzando 34 observaciones, seguida por los niveles Técnico con 24 observaciones y Primaria/Universitario con 21 obs. Estos resultados reflejan una distribución equilibrada entre géneros, pero con una predominancia general del nivel educativo Secundaria, lo cual sugiere que la mayoría de la población analizada se encuentra en etapas intermedias de formación académica.
II.Calcule la proporción de personas con más de 2 hermanos que tienen un ingreso mensual superior a $3000.
# Filtrar personas con más de 2 hermanos
mas_de_2_hermanos <- datos.p %>%
filter(Hermanos > 2)
# filtrar las que tienen ingreso mayor a $3000
con_ingreso_alto <- mas_de_2_hermanos %>%
filter(IngresoMensual > 3000)
# Calcular proporción
proporcion <- nrow(con_ingreso_alto) / nrow(mas_de_2_hermanos)
# Mostrar resultados
## Total en la muestra: 100
## Personas con más de 2 hermanos: 56
## Personas con más de 2 hermanos e ingreso > $3000: 8
## Proporción: 0.1429 ( 14.29 %)
El resultado obtenido indica que aproximadamente 14.29% de las personas con más de 2 hermanos en la muestra alcanzan ingresos superiores a $3000 mensuales. Esta proporción sugiere una posible relación entre el tamaño familiar y la capacidad de generar mayores ingresos, aunque para establecer conclusiones definitivas sería necesario considerar variables adicionales y realizar pruebas estadísticas de significancia que evalúen esta asociación de manera más completa.
Nota : se aproxima solo a 4 cifras para una buena legibilidad de los datos, conservando precision.
El análisis estadístico realizado sobre la población estudiada permitió identificar patrones significativos tanto en las variables cualitativas como cuantitativas, mostrando que la distribución por género se encuentra relativamente equilibrada, mientras que el nivel educativo presenta predominancia de secundaria y universitaria, evidenciando diversidad y cierta homogeneidad en el acceso a la educación. Las variables continuas, como la estatura e ingreso mensual, revelan diferencias consistentes con las expectativas demográficas: los hombres tienden a ser más altos, y los ingresos aumentan de manera progresiva con el nivel educativo, reflejando la influencia de la formación académica en la capacidad económica. El análisis conjunto de género y nivel educativo indicó ligeras variaciones porcentuales, sugiriendo factores socioculturales que podrían influir en la educación según el género. Las visualizaciones gráficas, incluyendo diagramas de caja y bigotes, histogramas y gráficos de barras, permitieron identificar rangos, medianas, dispersión y posibles valores atípicos, consolidando la interpretación de los datos y facilitando la comunicación de los hallazgos. En conjunto, estos resultados evidencian que la población estudiada es diversa y que existe una relación positiva entre educación e ingreso, aportando información valiosa para la comprensión del perfil sociodemográfico y económico del grupo, al tiempo que sienta las bases para estudios futuros más profundos, incluyendo análisis inferenciales y exploraciones de correlaciones, que podrían confirmar las tendencias observadas y guiar la toma de decisiones basada en evidencia.