Definimos inicialmente una semilla, la cual nos permita tener una reproductibilidad de los datos, ademas de sacar una muestra del 10% de todos los datos de la Base Estadistica Inicial.
set.seed(12977)
datos.BED<- read_excel("Base_Estadistica_Descriptiva.xlsx")
datos.bed <- sample_n(datos.BED,size = 100,replace = FALSE)
attach(datos.bed)
En primer lugar, se calculó la proporción de estudiantes correspondientes a cada nivel educativo dentro de la muestra. Este analisis permitió identificar la distribucion relativa de los participantes según su grado de formacion academica.
## NivelEducativo
## Primaria Secundaria Técnico Universitario
## 21 34 19 26
## NivelEducativo
## Primaria Secundaria Técnico Universitario
## 0.21 0.34 0.19 0.26
Se construyó una tabla de frecuencias para los niveles educativos. Con el fin de complementar este análisis. Adicionalmente se elaboró un gráfico de barras que facilita la visualización de la distribución de los estudiantes por nivel educativo.
datos.bed$NivelEducativo <- as.factor(datos.bed$NivelEducativo)
Tabla.frec.NE <- ds_auto_freq_table(datos.bed,NivelEducativo)
## Variable: NivelEducativo
## -----------------------------------------------------------------------------
## Levels Frequency Cum Frequency Percent Cum Percent
## -----------------------------------------------------------------------------
## Primaria 21 21 21 21
## -----------------------------------------------------------------------------
## Secundaria 34 55 34 55
## -----------------------------------------------------------------------------
## Técnico 19 74 19 74
## -----------------------------------------------------------------------------
## Universitario 26 100 26 100
## -----------------------------------------------------------------------------
## Total 100 - 100.00 -
## -----------------------------------------------------------------------------
dNE <- as.data.frame(NivelEducativo) #Creamos un data frame para graficar
ggplot(dNE, aes(x = NivelEducativo, fill = NivelEducativo)) +
geom_bar( width = 0.7, color = "Black") +
scale_fill_manual(values = c("#ADD8E6","#87CEFA","dodgerblue2","#1874CD")) +
labs(
title = "Grafico de barras para nivel Educativo",
x = "Nivel Educativo",
y = "Frecuencia"
) +
ylim(0, 40) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
Apartir del grafico podemos evidenciar que el grupo con auor frecuencia
es el de Secundaria, con 34 personas, lo que indica que
es el nivel educativo predominante en la poblacion analizada. Adicional
se evidencia que los niveles de Primaria y
Universitario tienen una frecuencia intermedia y que el
nivel Tecnico es el menos comun entre la muestra. ##
1.3 ¿Qué porcentaje de las personas pertenee a cada género? Represente
sus resultados en un gráfico de pastel.
#Crear la tabla de frecuencias para genero.
tabla_genero <- as.data.frame((table(datos.bed$Genero)))
colnames(tabla_genero) <- c("Genero","Frecuencia")
#Calcular los porcentajes
tabla_genero$Porcentaje <- round(tabla_genero$Frecuencia / sum(tabla_genero$Frecuencia)*100,1)
ggplot(tabla_genero, aes(x = "", y = Porcentaje, fill = Genero)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(Porcentaje, "%")),
position = position_stack(vjust = 0.5),
color = "white") +
labs(title = "Diagrama de torta – Genero",
fill = "Genero") +
theme_void()
Apartir del grafico podemos analizar que hay la distribucion entre los 3
generos es relativamente equilibrada, ya que ninguno supera el 40%. Esto
sugiere una representación similar entre los grupos, lo cual permite
evitar sesgos al momento de realizar un análisis posterior de los
datos.
Se realizo un analisis de variables cuantitativas sobre la base de datos datos.bed, enfocandonos específicamente en la información correspondiente a la Edad de la poblacion. Para esta variable se calcularon las siguiente medidas estadisticas:
El promedio o media representa la Edad media de la población, es decir, el valor alrededor del cual tienden a concentrarse la mayoria de los datos.
## La media de la edad en la poblacion de la muestra es: 40.34
La mediana es el valor que divide la poblacion en dos partes iguales, en este acaso apartir de la variable Edad.
## la mediana de la edad en la poblacion de la muestra es: 40.5
La desviacion estandar, la cual nos dice, en promedio, cuánto se alejan los valores de Edad al valor medio.
## La desviacion estandar de los ingresos de la población es: 13.80032
#Definimos la funcion logica para que compla con la condicion.
dNHerm3 <- table(datos.bed$Hermanos[datos.bed$Hermanos > 3])
#Convertir en un data frame.
dNHerm3_df <- as.data.frame(dNHerm3)
#Se le asignan los nombres al data frame.
colnames(dNHerm3_df) <- c("Hermanos","Frecuencia")
ggplot(dNHerm3_df, aes(x = Hermanos, y = Frecuencia, fill = Hermanos)) +
geom_bar( stat = "identity", color = "Black")+ scale_fill_manual(values = c("#87CEFA","dodgerblue2","#1874CD")) +
labs(
title = "Personas con mas de 3 hermanos",
x = "Personas con mas de 3 hermanos",
y = "Frecuencia"
) +
ylim(0, 15) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
El grafico de barras muestra la distribucion de las personas que tienen
mas de 3 hermanos, siendo un total de 38 personas lo cual es una
proporcion baja respecto al total de personas de la muestra.
Las personas ademas se muestras segun el numero especifico de hermanos que tienen, debido a esto observamos que aquellos con 4 hermanos son mas frecuentes que aquellos con 5 hermanos, aunque esta variacion es bastante moderada porlo que aunque es menos frecuente, hay un número significativo de personas con 5 y 6 hermanos.
De la misma manera se realizo un analisis de variables cuantitativas sobre la base de datos datos.bed, enfocandonos específicamente en la información correspondiente a los ingresos mensuales de la poblacion. Para esta variable se calcularon las siguiente medidas estadisticas:
El rango, el cual muestra la diferencia entre el infreso más alto y el mas bajo de la poblacion.
rango.I <- max(IngresoMensual)-min(IngresoMensual)
cat("El rango de los ingresos mensuales de la población es:",rango.I)
## El rango de los ingresos mensuales de la población es: 5191.3
La varianza, la cual refleja qué tan dispersos están los ingresos respecto al promedio.
Varianza.I <- var(IngresoMensual)
cat("La varianza de los ingresos mensuales de la población es:",Varianza.I)
## La varianza de los ingresos mensuales de la población es: 733670.1
El promedio representa el ingreso mensual medio de la población, es decir, el valor alrededor del cual tiendeen a concentrarse la mayoria de los datos.
Promedio.I <- mean(IngresoMensual)
cat("La varianza de los ingresos mensuales de la población es:",Promedio.I)
## La varianza de los ingresos mensuales de la población es: 1844.65
La desviacion estandar, la cual nos dice, en promedio, cuánto se alejan los ingresos al valor medio.
desv_est.I <- sd(IngresoMensual)
cat("La desviacion estandar de los ingresos de la población es:",desv_est.I)
## La desviacion estandar de los ingresos de la población es: 856.5454
El coeficiente de variacion relaciona la desviacion estándar con el promedio en porcentaje. Este valor nos indica el nivel de variabilidad relativa de los ingresos mensuales de la poblacion.
coef_var.I <- (desv_est.I/Promedio.I)*100
cat("El coeficiente de variacion de los ingresos de la población es:",coef_var.I)
## El coeficiente de variacion de los ingresos de la población es: 46.43402
distribucíon?
En el siguiente histograma se representa la distibucion de la estatura de la población registrada en la base de datos datos.BED. Permitiendo la identificacion de los intervalos de estatura más frecuentes, como observamos en el siguiente grafico:
ggplot(datos.BED, aes(x = Estatura))+geom_histogram(binwidth = 0.05, fill = "Blue" , color = "Black") + labs(title = "Histograma de la Estatura de la población", x = "Tama\u00f1o (m)",y = "Frecuencia") + scale_x_continuous(n.breaks = 6)+ theme_linedraw() + theme(plot.title = element_text(hjust = 0.5))
En primer lugar apartir del grafico nosotros podemos observar que la gran mayoria de las personas tienen estaturas concentradas entre 1.6 m y 1.9 m, donde se pueden observar las barras más altas, Además tambien se observa que en los extremos se presenta una menor frecuencia de poblacion.
Finalmente, la estatura de la poblacion parece tener un comportamiento aproximadamente simetrico lo que sugerie un comportamiento cercano al de una distribucion normal.
Se calculo la estatura promedio de los participantes segun su genero:
Promedio.E <- datos.bed %>%
group_by(Genero) %>%
summarise(
promedio.ES = mean(Estatura),
)
Promedio.E
## # A tibble: 3 × 2
## Genero promedio.ES
## <chr> <dbl>
## 1 Femenino 1.77
## 2 Masculino 1.73
## 3 Otro 1.76
dif_d <- max(Promedio.E$promedio.ES)-min(Promedio.E$promedio.ES)
cat("La diferencia mas destacada entre los generos es de:", dif_d)
## La diferencia mas destacada entre los generos es de: 0.03662673
Estos resultados los podemos ver mejor graficamente en el siguiente diagrama de barras:
ggplot(Promedio.E, aes(x= Genero, y=promedio.ES, fill=Genero))+
geom_bar(stat = "identity", width = 0.7, color = "Black") +
scale_fill_manual(values = c("#ADD8E6","#87CEFA","dodgerblue2")) +
labs(
title = "Grafico de barras Estaturas promedio",
x = "Genero",
y = "Estatura Promedio (m)"
) +
ylim(0, 2) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
Los resultado del diagrama y de la tabla nos indica que la estatura promedio es muy similar entre los grupos, aunque el femenimo sea mayor por un poco. Esto nos da a entender que que no existen diferencias significativas de estatura segun su genero en la poblacion que analizamos.
Acontinuacion, calculamos el ingreso promedio por cada nivel educativo y se determino la diferencia entre el nivel con mayor ingreso promedio y el de menor ingreso promedio:
prom_ingreso <- datos.bed %>%
group_by(NivelEducativo) %>%
summarise(
Promedio.Ingr = mean(IngresoMensual))
prom_ingreso
## # A tibble: 4 × 2
## NivelEducativo Promedio.Ingr
## <fct> <dbl>
## 1 Primaria 1877.
## 2 Secundaria 2029.
## 3 Técnico 1654.
## 4 Universitario 1717.
ggplot(prom_ingreso, aes(x= NivelEducativo, y=Promedio.Ingr, fill= NivelEducativo))+
geom_bar(stat = "identity", width = 0.7, color = "Black") +
scale_fill_manual(values = c("#ADD8E6","#87CEFA","dodgerblue2","#1874CD")) +
labs(
title = "Grafico de barras Promedio Ingresos mensuales por NivelEstudio",
x = "Nivel de Estudio",
y = " Ingreso Promedio ($)"
) +
ylim(0, 2500) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5))
Al analizar los ingresos promedio segun el nivel educativo, se observa que sí existen variaciones entre los diferentes niveles de formacion. El grupo con educación secundaria presenta el ingreso promedio mas alto alrededor de 2030, mientras que el nivel técnico registra el promedio mas bajo cercano a 1650, los ingresos de las personas con primaria y Universitaria se ubican en valores intermedios. Esto indica que no necesariamente un nivel de educativo más alto garantiza mayores ingresos dentro de la muestra analizada, ya que el grupo con secundaria supera al universitario promedio
Para analizar la dispersion de los ingresos mensuales en funcion del nivel educativo, construimos un diagrama de caja y bigotes. Este Grafico nos permite saber la mediana, el rango intercuartilico y la presencia de valores atipicos en cada grupo
ggplot(datos.bed, aes(x= NivelEducativo, y=IngresoMensual, fill=NivelEducativo))+
geom_boxplot()+
labs(tittle="distribuccion de ingresos por Nivel Educativo",
x= "Nivel Educativo",
y= "Ingreso Mensual")+
scale_fill_manual(values=c("skyblue","darkblue","aquamarine","lightgray"))+
theme_minimal()+
theme(legend.position="none")
En el Grafico se puede observar que los ingresos presentan mayor variabilidad en el nivel Secundaria, con la presencia de valores atipicos altos. El nivel de Primaria muestra una mediana relativamente mas alta que la de nivel Tecnico y universitario. Esto sugiere que, aunque el nivel educativo influye en los ingresos, no necesariamnete un mayor nivel son ingresos mas altos de la muestra escogidad.
Para ver la relacion entre la edad de los participantes y sus ingresos mensuales, se contruyo un grafico de dispersion. cada punto representa un indivio, y los colores diferencia el nivel educativo.
plot(datos.bed$Edad,datos.bed$IngresoMensual, main = "Diagrama de dispersion para la Edad y IngresoMensual", col = "Blue", lty = 1, xlab = "Edad(años)" ,ylab ="Ingreso Mensual ($)")
En el grafico se muestra una relacion debil entre la edad y el ingreso mensual, ya que la tendencia de la regresion es casi plana. sin embargo se observa una dispersion considerable en la varibalidad de ingresos, lo que indica que la edad, por si misma no es un factor determinante de todos los niveles educativos, aunque los altos tienden hacer los de secundaria y universitario .
Se realiza la construccion de una tabla entre las variables de genero y nivel educativo, y adicionalmente se realiza una tabla de proporciones.
## NivelEducativo
## Genero Primaria Secundaria Técnico Universitario Sum
## Femenino 7 13 6 9 35
## Masculino 6 12 6 7 31
## Otro 8 9 7 10 34
## Sum 21 34 19 26 100
## NivelEducativo
## Genero Primaria Secundaria Técnico Universitario Sum
## Femenino 0.07 0.13 0.06 0.09 0.35
## Masculino 0.06 0.12 0.06 0.07 0.31
## Otro 0.08 0.09 0.07 0.10 0.34
## Sum 0.21 0.34 0.19 0.26 1.00
Se inicia creando una nueva tabla con aquellas personas que cumplan con las dos condiciones dadas:
## # A tibble: 5 × 8
## ID Genero NivelEducativo Edad Hermanos Estatura IngresoMensual
## <dbl> <chr> <fct> <dbl> <dbl> <dbl> <dbl>
## 1 442099291 Femenino Secundaria 45 4 1.78 3635.
## 2 706255831 Masculino Secundaria 23 6 1.87 3159.
## 3 315507978 Masculino Universitario 40 6 1.93 3028.
## 4 811814825 Femenino Secundaria 33 3 1.88 3107.
## 5 19034017 Femenino Secundaria 64 5 1.53 4757.
## # ℹ 1 more variable: HorasDeTrabajo <dbl>
## [1] 5
## [1] 0.05
En el conjunto de datos analizado, se aplicó un filtro para identificar a las personas que cumplen simultáneamente con dos condiciones: tener más de 2 hermanos y contar con un ingreso mensual superior a $3000.
El resultado arrojó que 5 personas* cumplen con estas condiciones específicas. Si se compara con el total de la muestra 100, esta cifra representa una proporcion del 5% (0.05) Esto refleja que estas condiciones son poco frecuentes en el conjunto de datos analizado.