| Nombre | Documento | Correo |
|---|---|---|
| Diego Andres Duran Pedroza | 1130266042 | diduranp@unal.edu.co |
| Juan David Tellez Moreno | Documento 2 | jtellez@unal.edu.co |
| Diana Carolina Engativa Alvarez | Documento 3 | dengativaa@unal.edu.co |
| Sofia Calderon Avella | Documento 4 | socalderona@unal.edu.co |
Librerias necesarias para el codigo
library(ggplot2)
library(descriptr)
library(dplyr)
library(tidyverse)
library(kableExtra) #para dar mas estetica a las graficas
library(knitr) #para dar mas estetica a las graficas
library(plotrix)
Creacion de la muestra
Base_Estadistica_Descriptiva <- read_csv("C:/Users/diege/Downloads/Base_Estadistica_Descriptiva.csv") #cambiar la ruta segun el pc que se use
set.seed(2409)
Data <- as.data.frame(Base_Estadistica_Descriptiva)
muestra <- sample_n(tbl=Data,size=100,replace=FALSE)
1. ¿Cuál es la proporción de estudiantes por cada nivel educativo? Construye una tabla de frecuencias y un gráfico de barras.
En estadística, una proporción es una fracción que refleja la relación entre una parte y el todo. Se obtiene dividiendo el número de elementos de interés por el total de elementos en el conjunto. Por ejemplo, si en una encuesta 60 de 100 personas dicen que les gusta el café, la proporción de personas que prefieren el café es 60/100 o 0.60.
Las proporciones son fundamentales porque facilitan la comparación entre grupos. Ayudan a interpretar resultados al mostrar qué tan significativos son ciertos datos, como en estudios de mercado o encuestas. Además, permiten tomar decisiones informadas en diversos ámbitos. En salud pública, por ejemplo, conocer la proporción de personas vacunadas puede ser crucial para planificar campañas de vacunación. Regresando a nuestro caso, se realizara la tabla de frecuencias para la variable Nivel Educativo para poder hallar la proporcion
# Crear la tabla de frecuencias
tabla_frecuencias_nivel_educativo <- table(muestra$NivelEducativo)
# Convertir la tabla de frecuencias en un data.frame
df_frecuencias_nivel_educativo <- as.data.frame(tabla_frecuencias_nivel_educativo)
# Renombrar las columnas
colnames(df_frecuencias_nivel_educativo) <- c("Nivel_Educativo", "Frecuencia_Absoluta")
# Calcular la Frecuencia Acumulada
df_frecuencias_nivel_educativo <- df_frecuencias_nivel_educativo %>% mutate(Frecuencia_Acumulada = cumsum(Frecuencia_Absoluta))
# Calcular la Frecuencia Relativa
df_frecuencias_nivel_educativo <- df_frecuencias_nivel_educativo %>% mutate(Frecuencia_Relativa = Frecuencia_Absoluta / sum(Frecuencia_Absoluta))
# Calcular la Frecuencia Porcentual
df_frecuencias_nivel_educativo <- df_frecuencias_nivel_educativo %>% mutate(Frecuencia_Porcentual = Frecuencia_Relativa * 100)
# Calcular las sumas de cada columna
suma_totales <- df_frecuencias_nivel_educativo %>% summarise(Frecuencia_Absoluta = sum(Frecuencia_Absoluta), Frecuencia_Acumulada = NA, Frecuencia_Relativa = sum(Frecuencia_Relativa), Frecuencia_Porcentual = sum(Frecuencia_Porcentual))
# Añadir las sumas como una fila adicional
df_frecuencias_nivel_educativo <- df_frecuencias_nivel_educativo %>% bind_rows(c(Nivel_Educativo = "Total", suma_totales))
# Mostrar la tabla de frecuencias con sumas de columnas
df_frecuencias_nivel_educativo %>% kable("html", caption = "Tabla de Frecuencias por Nivel Educativo") %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
| Nivel_Educativo | Frecuencia_Absoluta | Frecuencia_Acumulada | Frecuencia_Relativa | Frecuencia_Porcentual |
|---|---|---|---|---|
| Primaria | 20 | 20 | 0.20 | 20 |
| Secundaria | 38 | 58 | 0.38 | 38 |
| Técnico | 19 | 77 | 0.19 | 19 |
| Universitario | 23 | 100 | 0.23 | 23 |
| Total | 100 | NA | 1.00 | 100 |
NV <- head(df_frecuencias_nivel_educativo, -1)
ggplot(NV, aes(x = Nivel_Educativo, y = Frecuencia_Absoluta, fill = Nivel_Educativo)) +
geom_bar(stat = "identity") +
theme_minimal() +
labs(
title = "Proporción de Estudiantes por Nivel Educativo",
x = "Nivel Educativo",
y = "Número de Estudiantes"
) +
geom_text(aes(label = paste0(round(Frecuencia_Porcentual, 1), "%")), vjust = -0.5) +
ylim(0, max(NV$Frecuencia_Absoluta) * 1.1) +
theme(legend.position = "none")
En la frecuencia absoluta podemos deducir la cantidad de personas que estan cursando el nivel educativo indicado, podemos ver que la mayor parte de individuos tiene nivel educativo secundaria y la menor parte tiene nivel educativo Tecnico, de igual forma, con la frecuencia acumulada podemos destacar que mas de la mitad de los individuos tiene como nivel educativo secundaria
Segun los datos que estan en la tabla se podria suponer que es mas complejo pasar del nivel secundaria a un nivel educativo mayor debido a que mas de la mitad de los individuos solo terminaron secundaria. En la frecuencia relativa podemos decir que 1 de cada 5 personas terminaron hasta primaria, 19 de cada 50 individuos terminaron hasta secundaria, 19 de 100 personas terminaron hasta una carrera tecnica y 23 de 100 personas terminaron una carrera universitaria.
2. ¿Qué porcentaje de las personas pertenece a cada género? Representa tus resultados en un gráfico de pastel.
tablagenero <- table(muestra$Genero)
genero <- as.data.frame(tablagenero)
# Renombrar las columnas
colnames(genero) <- c("Genero", "Frecuencia_Absoluta")
# Calcular la Frecuencia Relativa y Porcentual
genero <- genero %>%
mutate(Frecuencia_Relativa = Frecuencia_Absoluta / sum(Frecuencia_Absoluta)) %>%
mutate(Frecuencia_Porcentual = Frecuencia_Relativa * 100)
# Calcular la Frecuencia Acumulada
genero <- genero %>% mutate(Frecuencia_Acumulada = cumsum(Frecuencia_Absoluta))
# Calcular las sumas de cada columna
suma_totales <- genero %>% summarise(Frecuencia_Absoluta = sum(Frecuencia_Absoluta), Frecuencia_Acumulada = NA, Frecuencia_Relativa = sum(Frecuencia_Relativa), Frecuencia_Porcentual = sum(Frecuencia_Porcentual))
# Añadir las sumas como una fila adicional
genero <- genero %>% bind_rows(c(Genero = "Total", suma_totales))
# Mostrar la tabla de frecuencias
genero %>% kable("html", caption = "Tabla de Frecuencias por genero") %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
| Genero | Frecuencia_Absoluta | Frecuencia_Relativa | Frecuencia_Porcentual | Frecuencia_Acumulada |
|---|---|---|---|---|
| Femenino | 38 | 0.38 | 38 | 38 |
| Masculino | 33 | 0.33 | 33 | 71 |
| Otro | 29 | 0.29 | 29 | 100 |
| Total | 100 | 1.00 | 100 | NA |
# Preparar los datos
genero_labels <- genero$Genero # Excluir el último valor de Frecuencia_Porcentual
genero_values <- head(genero$Frecuencia_Porcentual, -1)
genero_labels <- head(genero_labels, -1)
# Crear el gráfico de pastel
pie3D(genero_values, labels = paste0(genero_labels, " (", round(genero_values, 1), "%)"), explode = 0.1, # Separación de las porciones
main = "Porcentaje de Personas por Género", labelcex = 1.5, # Tamaño de las etiquetas
col = c("lightgreen","lightblue","lightpink"))
El gráfico indica que la mayor parte de la muestra se identifica como femenino, con un 38%. El segundo grupo más grande es el masculino, con un 33%, y el grupo identificado como “Otro” representa el 29%. Esto sugiere una distribución relativamente equilibrada entre los géneros, aunque con una ligera mayoría femenina.
3. Calcula la media, mediana y desviación estándar de la variable Edad.
La media, también conocida como promedio, es una medida central que se calcula sumando todos los valores de un conjunto de datos y dividiendo esa suma por la cantidad de valores. Esta medida es útil para obtener una idea general del centro de los datos, especialmente cuando estos son simétricos y no contienen valores atípicos que puedan sesgarlos.
La mediana, por otro lado, representa el valor que se encuentra justo en la mitad de un conjunto de datos ordenados. Si el número de observaciones es impar, la mediana es el valor central; si es par, es el promedio de los dos valores centrales. La mediana es particularmente útil en conjuntos de datos con valores extremos o distribuciones sesgadas, ya que no se ve afectada por estos valores atípicos y ofrece una visión más precisa del “centro” de los datos.
La desviación estándar mide la dispersión o variabilidad de los datos respecto a la media. Para calcularla, primero se determina la varianza, que es el promedio de las diferencias al cuadrado entre cada valor y la media. La desviación estándar es la raíz cuadrada de la varianza. Esta medida es crucial para entender cómo varían los datos en un conjunto: una desviación estándar alta indica que los datos están muy dispersos, mientras que una baja señala que los datos están agrupados cerca de la media.
En conjunto, estos conceptos son fundamentales en estadística porque proporcionan una comprensión profunda y variada de los datos. La media ofrece un valor central, la mediana proporciona una medida resistente a valores extremos y la desviación estándar ayuda a comprender la dispersión de los datos.
Regresando a nuestro ejemplo se procedera a hallar la media aritmetica de la variable Edad, en este caso podemos ver que es 42.1
mediaedad <- mean(muestra$Edad)
mediaedad
## [1] 42.1
Se halla la Mediana de la variable Edad, en este caso podemos ver que es 43.
medianaedad <- median(muestra$Edad)
medianaedad
## [1] 43
Se halla la Desviacion Estandar de la variable Edad. En este caso es 13.63
desedad <- sd(muestra$Edad)
desedad
## [1] 13.63337
4. ¿Cuántas personas tienen más de 3 hermanos? Representa esta información en un gráfico de barras.
muestraH <- subset(muestra, Hermanos >3)
Cantidadmd3 <- nrow(muestraH)
Cantidadmnd3 <- nrow(muestra)-Cantidadmd3
hermanos <- data.frame(Categoria = c("Mas de 3 hermanos","3 o menos hermanos"),
Cantidad=c(Cantidadmd3,Cantidadmnd3))
ggplot(hermanos, aes(x = Categoria, y = Cantidad, fill = Categoria)) +
geom_bar(stat = "identity") +
theme_minimal() +
labs(
title = "Numero de personas segun la cantidad de hermanos",
x = "Categoria",
y = "Número de Personas"
) +
geom_text(aes(label = Cantidad), vjust = -0.5) +
theme(legend.position = "none")
A partir del grafico de barras se puede concluir que hay 43 personas con mas de tres hermanos.
5. Calcula el rango, la varianza y el coeficiente de variación de la variable IngresoMensual.
El rango es una medida de dispersión que indica la diferencia entre el valor más alto y el más bajo en un conjunto de datos. Es importante porque proporciona una visión rápida de la variabilidad y la extensión de los datos. Por otro lado, La varianza es una medida que indica cómo se distribuyen los valores en torno a la media. Es fundamental porque muestra la cantidad de variabilidad o dispersión en un conjunto de datos, ayudando a entender cómo se comportan los datos respecto a la media.
Por ultimo, el coeficiente de variación (CV) es una medida relativa que compara la desviación estándar con la media, expresada como un porcentaje. Es crucial porque permite comparar la variabilidad de diferentes conjuntos de datos, incluso si tienen medias diferentes, ofreciendo una perspectiva clara de la variabilidad relativa. Estas medidas son esenciales en estadística porque nos ayudan a comprender la dispersión y la distribución de los datos, lo que es vital para interpretar resultados, hacer comparaciones y tomar decisiones informadas.
##5.Calcula el rango, la varianza y el coeficiente de variación de la variable ingreso mensual##
attach(muestra)
rango <- max(IngresoMensual, na.rm = TRUE) - min(IngresoMensual, na.rm = TRUE)
varianza <- var(IngresoMensual, na.rm = TRUE)
media <- mean(IngresoMensual, na.rm = TRUE)
desviacion_estandar <- sd(IngresoMensual, na.rm = TRUE)
coef_var <- (desviacion_estandar / media)
# mostrar los resultados
print(paste("Rango:", rango))
## [1] "Rango: 3779.92"
print(paste("Varianza:", varianza))
## [1] "Varianza: 635568.552357768"
print(paste("Media de Ingreso Mensual:", media))
## [1] "Media de Ingreso Mensual: 2091.4309"
print(paste("Desviación estándar:", desviacion_estandar))
## [1] "Desviación estándar: 797.225534185758"
print(paste("Coeficiente de variación:", coef_var))
## [1] "Coeficiente de variación: 0.381186647947947"
6. Construye un histograma de la variable Estatura. ¿Qué puedes decir sobre su distribución?
Un histograma es un tipo de gráfico que representa la distribución de un conjunto de datos numéricos a través de barras. Cada barra del histograma muestra la frecuencia (o la cantidad) de datos que caen dentro de un rango específico de valores, llamado intervalo o bin. Los datos se agrupan en estos intervalos, y la altura de cada barra representa cuántos datos se encuentran en cada intervalo.
Los histogramas son fundamentales en estadística porque proporcionan una representación visual clara y directa de la distribución de datos. Permiten identificar fácilmente patrones, como la concentración de datos en ciertas áreas, la presencia de sesgos, la existencia de valores atípicos y la forma general de la distribución (por ejemplo, si es simétrica o asimétrica). Tambien es importante resaltar que a un histograma se le puede añadir una curva de densidad. La curva de densidad es una línea suave que se superpone al histograma para mostrar la distribución teórica de los datos. A diferencia de las barras del histograma, que muestran la frecuencia de los datos en intervalos específicos, la curva de densidad proporciona una representación continua y suave de la distribución de los datos.
## Construye un Histograma de la variable Estatura ¿ Que puedes sobre su distribución?
# Crear el histograma
hist_data <- hist(muestra$Estatura,
main = "Histograma de la Estatura con Curva de Densidad",
xlab = "Estatura",
ylab = "Frecuencia",
col = "#CD8C95",
border = "#8B5F65",
family = "serif",
col.main = "#8B668B",
col.lab = "#8B668B",
col.axis = "#030303",
freq = TRUE, # Mostrar frecuencias
xlim = range(muestra$Estatura))
# Calcular la densidad y escalarla para que coincida con las frecuencias del histograma
densidad <- density(muestra$Estatura)
densidad$y <- densidad$y * sum(hist_data$counts) * diff(hist_data$breaks)[1]
# Agregar el sombreado bajo la curva de densidad
polygon(x = c(densidad$x, rev(densidad$x)),
y = c(densidad$y, rep(0, length(densidad$y))),
col = rgb(0, 0, 1, 0.3), # Azul con transparencia
border = NA)
# Agregar la curva de densidad encima
lines(densidad, col = "#1874CD", lwd = 2)
# Añadir una línea que indique la media
abline(v = mean(muestra$Estatura, na.rm = TRUE),
col = "darkblue",
lwd = 2,
lty = 2)
En el eje horizontal (x) se encuentran las estaturas, que varían de 1.5 a 2.0 metros, mientras que en el eje vertical (y) se encuentra la frecuencia, que varía de 0 a 15.Además, hay una curva de densidad azul superpuesta que muestra la tendencia general de la distribución de las estaturas y tambien hay una línea punteada marca la media de las estaturas, la cual es 1.76 metros.
La mayor parte de las estaturas se agrupan alrededor de la media, es decir, 1.76 metros. Esto se puede observar ya que la curva de densidad tiene su pico cerca de este valor, indicando una alta concentración de datos alrededor de la media. La distribución parece estar ligeramente sesgada hacia la derecha, pues hay más datos hacia el lado superior (derecha) de la media que hacia el lado inferior (izquierda). Esta observación es importante ya que nos proporciona una buena visualización de cómo se distribuyen las estaturas en la muestra, mostrando tanto la centralidad como la dispersión de los datos.
7. Calcula la media y el percentil 90 de la variable HorasDeTrabajo. Interpreta los resultados.
En estadística, los percentiles son medidas que dividen un conjunto de datos ordenados en 100 partes iguales. Cada percentil indica el valor por debajo del cual se encuentra un cierto porcentaje de los datos. Por ejemplo, el percentil 50, también conocido como la mediana, es el valor por debajo del cual se encuentra el 50% de los datos.
Los percentiles son importantes por varias razones. Primero, permiten describir la posición relativa de un valor dentro de un conjunto de datos. Esto es útil para entender cómo se compara un valor específico con el resto de los datos. Segundo, los percentiles son utilizados frecuentemente en pruebas estandarizadas y evaluaciones educativas para interpretar los resultados de los estudiantes en relación con una población más amplia.
Además, los percentiles ayudan a identificar y analizar la distribución de los datos. Pueden revelar información sobre la dispersión, sesgo y presencia de valores atípicos en un conjunto de datos. Por ejemplo, si muchos datos se encuentran en percentiles bajos, esto puede indicar un sesgo hacia valores menores.
# Calcular la media de HorasDeTrabajo
media_horas <- mean(muestra$HorasDeTrabajo, na.rm = TRUE)
# Calcular el percentil 90 de HorasDeTrabajo
percentil_90 <- quantile(muestra$HorasDeTrabajo, probs = 0.9, na.rm = TRUE)
# Imprimir los resultados
print(paste("Media de Horas de Trabajo:", media_horas))
## [1] "Media de Horas de Trabajo: 40.07"
print(paste("Percentil 90 de Horas de Trabajo:", percentil_90))
## [1] "Percentil 90 de Horas de Trabajo: 53.02"
La media de horas de trabajo es 40.07, lo que significa que, en promedio, las personas trabajan alrededor de 40 horas. El percentil 90 es 53.02,lo que quiere decir que el 90% de las personas trabajan 53.02 horas o menos, y solo el 10% trabaja más de esas horas.
8. Compara las alturas promedio (Estatura) por género (Genero). ¿Cuál es la diferencia más destacada?
El promedio de estatura por genero es la siguiente:
# Calcular la estatura promedio por género
promedio_estatura <- tapply(muestra$Estatura, muestra$Genero, mean, na.rm = TRUE)
# Convertir a data frame para mejor presentación
promedio_estatura_df <- as.data.frame(promedio_estatura)
promedio_estatura_df$Genero <- rownames(promedio_estatura_df)
rownames(promedio_estatura_df) <- NULL
# Imprimir tabla más estética con kableExtra
kable(promedio_estatura_df, col.names = c("Estatura Promedio", "Género"), caption = "Estatura Promedio por Género") %>%
kable_styling(full_width = F, position = "center", bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
column_spec(1, border_left = T, border_right = T) %>%
column_spec(2, border_right = T)
| Estatura Promedio | Género |
|---|---|
| 1.761842 | Femenino |
| 1.745151 | Masculino |
| 1.762069 | Otro |
la diferencia entre estaturas promedio es
# Datos de estatura promedio por género
estaturas <- data.frame(
Genero = c("Femenino", "Masculino", "Otro"),
Estatura_Promedio = c(1.761842, 1.745151, 1.762069)
)
# Calcular las diferencias de estatura promedio en valor absoluto
diferencias <- data.frame(
Comparacion = c("Masculino vs Otro", "Masculino vs Femenino", "Femenino vs Otro"),
Diferencia = (c(
estaturas$Estatura_Promedio[2] - estaturas$Estatura_Promedio[3],
estaturas$Estatura_Promedio[2] - estaturas$Estatura_Promedio[1],
estaturas$Estatura_Promedio[1] - estaturas$Estatura_Promedio[3]
))
)
# Mostrar la tabla de diferencias
kable(diferencias, format = "html", caption = "Diferencias de Estatura Promedio por Género", col.names = c("Comparación", "Diferencia (m)"), align = "c") %>%
kable_styling(full_width = FALSE, position = "center")
| Comparación | Diferencia (m) |
|---|---|
| Masculino vs Otro | -0.016918 |
| Masculino vs Femenino | -0.016691 |
| Femenino vs Otro | -0.000227 |
Las diferencias de estatura promedio entre los géneros “Masculino” vs “Otro”, “Masculino” vs “Femenino”, y “Femenino” vs “Otro” son relativamente pequeñas. En “Masculino vs Otro” y “Masculino vs Femenino”, la diferencia es de aproximadamente 16.918 mm y 16.691 mm, respectivamente, lo que indica que los hombres son, en promedio, ligeramente más bajos que los otros géneros. En “Femenino vs Otro”, la diferencia es mínima, de solo 0.227 mm, lo que sugiere que las estaturas promedio de las mujeres y el grupo “Otro” son prácticamente iguales.
9. Analiza si los ingresos promedio (IngresoMensual) varían según el nivel educativo
Función que permite hallar los promedios por cada nivel educativo.
## Función que calcula el promedio de valores cuantitativos con respecto a un valor cualitativo
## z es el valor cualitativo a comparar, c la columna donde está el valor cualitativo y r la columna donde está el valor cuantitativo
PromedioI <- function(z,c,r){
i=1
y=0
x=0
while(i<101){
if(muestra[i,c]==z){
y=y+muestra[i,r]
x=x+1
}
i=i+1
}
y=y/x
return(y)
}
Se calcula el promedio de ingresos con respecto al nivel académico.
Niveles <- c("Primaria","Secundaria","Técnico",'Universitario')
Promedios <-c(PromedioI("Primaria",3,7),PromedioI("Secundaria",3,7),
PromedioI("Técnico",3,7),PromedioI("Universitario",3,7))
Obtenemos los siguientes resultados
## Promedio de los ingresos respecto al nivel académico
NvP <- cbind(Niveles,round(Promedios,2))
colnames(NvP) <- c("Nivel educativo","Ingresos mensuales")
kbl(NvP,"html")%>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),full_width=F, html_font = "Cambria")%>% row_spec(0:0, background = "lightgray")
| Nivel educativo | Ingresos mensuales |
|---|---|
| Primaria | 2151.04 |
| Secundaria | 2212.18 |
| Técnico | 1696.56 |
| Universitario | 2166.29 |
De la tabla obtenida se puede inferir que existe una pequeña variación en los ingresos promedio con respecto al nivel educativo, se destaca el hecho de que el grupo de menor ingresos es el de los técnicos, los cuales ganan significativamente menos que los demás. Este inesperado resultado se puede deber a que el tamaño de la muestra es inadecuado (demasiado pequeño).
10. Compara las HorasDeTrabajo promedio entre personas con diferentes niveles educativos. ¿Qué observas?
Se calculan las horas de trabajo promedio con respecto al nivel educativo.
Horas <- c(PromedioI("Primaria",3,8),PromedioI("Secundaria",3,8),
PromedioI("Técnico",3,8),PromedioI("Universitario",3,8))
Se obtienen los siguientes resultados.
NvH <- cbind(Niveles,round(Horas,2))
colnames(NvH) <- c("Nivel educativo","Horas de trabajo")
kbl(NvH,"html")%>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),full_width=F, html_font = "Cambria")%>% row_spec(0:0, background = "lightgray")
| Nivel educativo | Horas de trabajo |
|---|---|
| Primaria | 37.58 |
| Secundaria | 41.52 |
| Técnico | 38.61 |
| Universitario | 41.05 |
Se observa que el grupo que más horas de trabajo realiza son aquellos cuyo nivel educativo llega a la secundaria, seguidos de cerca por los universitarios, mientras los que menor tiempo invierten trabajando son los de primaria, con un tiempo similar a los técnicos. A pesar de ellos la varianza es relativamente poca entre cada nivel educativo.
11. Construye un diagrama de caja y bigotes para los ingresos mensuales (IngresoMensual) por nivel educativo (NivelEducativo).
Los diagramas de caja y bigotes son representaciones de datos que presentan la información dividida en cuartiles de tal manera que sea más fácil de analizar su distribución. La caja representa a los 2 principales cuartiles, el inferior y el superior. Siendo esto en donde se aglomeran la mayoría de los datos. En su centro se halla la media aritmética de los datos representada por una línea. Los bigotes son las líneas que se extienden mas alla de las cajas y representan la variabilidad de los datos más allá de los principales cuartiles.
Los datos atípicos, son representados como puntos que se hallan más allá de los bigotes y representan aquellos datos que están demasiado alejados del grupo de datos. Esta herramienta es muy util para la representacion de la distribución de datos y debido a su simpleza pueden dar una gran cantidad de información sin demasiado análisis.
graf_in <- ggplot(data = muestra,aes(x=IngresoMensual,y=NivelEducativo,fill=NivelEducativo)) +
geom_boxplot() +
labs(x ="Ingreso mensual", y="Nivel educativo", title = "Ingresos mensuales por nivel educativo")+
stat_boxplot(geom = "errorbar", width=0.35)+
theme_light()
graf_in
Se puede observar cómo los salarios más altos en promedio pertenecen a los universitarios, seguidos de cerca del grupo que tiene estudios hasta la secundaria. El grupo que de media tiene los ingresos más bajos son los técnicos y finalmente están los del nivel académico de primaria que se encuentran en un punto más bien central respecto a los demás grupos.
12. Grafica la relación entre Edad y HorasDeTrabajo con un gráfico de dispersión. ¿Hay alguna tendencia aparente?
Usados para representar datos en forma de puntos en coordenadas cartesianas de tal manera que sea sencillo ver la relaciones entre los datos.
Por lo general se estudia el patrón que siguen los puntos con la finalidad de estudiar la tendencia de los datos. Por lo general el patrón que siguen los puntos nos darán una imagen de como los datos se comportan respecto a una variable, de esta manera sabremos si la variable influye o no en los datos y como lo hace.
Estas graficas son muy útiles para comparar datos cuantitativos, así como tratar de hacer predicciones
mediaH <- mean(muestra$HorasDeTrabajo)
graf2 <- ggplot(muestra,aes(x=Edad,y=HorasDeTrabajo))+
geom_point(colour="#D144FF",shape="diamond")+
theme(panel.background = element_rect(fill = "white"),
plot.background = element_rect(fill = "white"),
panel.grid = element_line(color = "white"),
axis.line = element_line(color = "black"),
axis.title = element_text(size = 14),
plot.title = element_text(size = 20),
text = element_text(family = "serif"))+
scale_y_continuous(breaks = seq(0,100,by = 5))+
scale_x_continuous(breaks = seq(0,100,by=5))+
labs(y="Hora Trabajadas",
title="Horas trabajadas respecto a la edad",
subtitle = "La linea azul demarca la media de las horas trabajadas")+
geom_hline(yintercept = mediaH, linetype = 2, color =4,
lwd= 1,5)
## Warning: `geom_hline()`: Ignoring `mapping` because `yintercept` was provided.
graf2
Se puede observar una tendencia alrededor de las 25 y 55 horas trabajadas a la semana, en donde se concentran la mayoría de los datos, sin variar mucho respecto a la edad. A pesar de esto se denota una significativa dispersión en los datos, lo cual muestra que la edad no representa un cambio muy significativo en las horas de trabajo semanales en esta muestra.
13. Construye una tabla de doble entrada que muestre la distribución conjunta de genero y nivel educativo.
Una tabla de doble entrada es un instrumento conceptual que nos ayuda a organizar de manera visual los datos relacionados con temas en particular, utilizando filas y columnas en forma de matriz para realizar comparaciones estadísticas entre dos variables para así establecer una relación directa entre ellas. En nuestro caso, la tabla de doble entrada nos ayudara a representar de manera visual la distribución de cada genero por nivel educativo lo que ayuda a identificar patrones o desigualdades en la muestra de 100 personas que tomamos.
frecuencias <- table(muestra$Genero,muestra$NivelEducativo)
frecuencias.tot <- addmargins(frecuencias)
frecuencias.df <- as.data.frame.matrix(frecuencias.tot)
#Tabla realizada por Inteligencia artificial para mayor estetica [12]
kable(frecuencias.df, format = "html", caption = "Distribución conjunta de Género y Nivel Educativo") %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F) %>% row_spec(0, bold = TRUE, color = "white", background = "black") %>% column_spec(1, bold = TRUE, color = "white", background = "black") %>% column_spec(2:5, width = "4em", border_left = TRUE) %>% column_spec(6, bold = TRUE, color = "white", background = "black") %>% row_spec(1:nrow(frecuencias.df), align = "center") %>% add_header_above(c(" " = 1, "Nivel Educativo" = 5))
| Primaria | Secundaria | Técnico | Universitario | Sum | |
|---|---|---|---|---|---|
| Femenino | 7 | 15 | 7 | 9 | 38 |
| Masculino | 8 | 11 | 5 | 9 | 33 |
| Otro | 5 | 12 | 7 | 5 | 29 |
| Sum | 20 | 38 | 19 | 23 | 100 |
Como se muestra en la tabla anterior podemos ver la distribución conjunta de genero y nivel educativo. Lo primero que podemos resaltar es que la educación secundaria es el nivel educativo mas común, seguido por la educación universitaria. La educación secundaria prevalece como la más común independientemente del género, lo que es indicativo que la mayoría de las personas en la muestra han alcanzado al menos una educación secundaria y por tanto, que la educación secundaria es muy accesible y común para la mayoría de personas.
La educación primaria tiene la menor representación de la muestra, lo que sugiere que hay accesibilidad e incentivos en seguir con los estudios después de primaria. Por otra parte, después de la educación secundaria se muestra una diversificación en la toma de decisiones sobre como continuar con sus estudios. La mayoría de las personas después de terminar secundaria eligen ir a la universidad, tanto hombres como mujeres, sin embargo, otros géneros prefieren educación técnica. Por otra parte, dentro de los que escogen la educación técnica hay mayor numero de mujeres y otros géneros que de hombres.
14. Calcula la proporcion de personas con mas de 2 hermanos que tienen un ingreso mensual superior a 3000
El número de personas que tiene más de dos hermanos es:
muestra_filtrada_hermano <- subset(muestra, Hermanos >2) #Hace un dataframe de todas las personas de la muestra que tienen mas de 2 hermanos
nrow(muestra_filtrada_hermano) #personas que tienen mas de dos hermanos
## [1] 58
El numero de personas que tiene mas de dos hermanos y tienen un ingreso mensual mas de 3000 es:
muestra_filtrada_ingreso <- subset(muestra_filtrada_hermano, IngresoMensual >3000) #Hace un dataframe de todas las personas de la muestra que tienen mas de 2 hermanos y tienen un ingreso mayor a 3000
nrow(muestra_filtrada_ingreso) #personas que tienen mas de 2 hermanos y tienen un ingreso mayor a 3000
## [1] 8
La proporcion de dos personas con mas de 2 hermanos que tienen un ingreso mensual superior a 3000 es:
proporcion_hermano_vs_ingreso<- nrow(muestra_filtrada_ingreso)/nrow(muestra_filtrada_hermano)
proporcion_hermano_vs_ingreso
## [1] 0.137931
15. A partir e los resultados obtenidos, ¿qué variables parecen tener mayor relación con el ingreso mensual? Justifica tu respuesta.
Para saber que variables tienen mayor relacion con el ingreso mensual es necesario hacer una matriz de correlacion. La matriz de correlación es una herramienta que sirve para analizar qué tan relacionadas están las variables cuantitativas como la edad, ingreso mensual, horas de trabajo, numero de hermanos y la estatura. En la matriz de correlación se muestra los coeficientes de correlación indicando la fuerza y dirección entre cada par de variables cuantitativas (valores entre 1+ y -1, donde 0 significa que no hay relación alguna). Con esta matriz de correlación podremos saber que variables están mas relacionadas con el ingreso mensual. Para saber que variables tienen una relación fuerte con el ingreso muestral hay que ver si su coeficiente es muy cercano a +1 o a -1, ya que esto indica si están muy relacionadas o no. Si el coeficiente es muy cercano a +1 significa que es una relación proporcional, en cambio, si es muy cercano a -1 es una relación inversamente proporcional
Por otra parte, debido a que las variables cualitativas no se pueden agregar en una matriz de correlacion se procedera a hacer una boxplot entre el ingreso mensual y cada variable cualitativa. Esto con el proposito de visualizar la distribución del ingreso mensual en función de las variables cualitativas. Comparando estos box plot podremos establecer si existen varibales cualitativas fuertemente relacionadas con el ingreso mensual
variables_cuantitativas <- muestra[, c("IngresoMensual", "HorasDeTrabajo", "Edad","Estatura","Hermanos")]
# Calcular la matriz de correlación
matriz_correlacion <- cor(variables_cuantitativas)
# Mostrar la matriz de correlación
#Tabla realizada por Inteligencia artificial para mayor estetica [12]
kable(matriz_correlacion, format = "html", caption = "Matriz de correlacion entre las variables cuantitativas") %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F) %>% row_spec(0, bold = TRUE, color = "white", background = "black") %>% column_spec(1, bold = TRUE, color = "white", background = "black") %>% column_spec(2:6, width = "4em", border_left = TRUE) %>% column_spec(6, bold = FALSE, color = "black", background = "white") %>% row_spec(1:nrow(frecuencias.df), align = "center")
| IngresoMensual | HorasDeTrabajo | Edad | Estatura | Hermanos | |
|---|---|---|---|---|---|
| IngresoMensual | 1.0000000 | 0.0849921 | 0.1795695 | 0.0808622 | -0.0353568 |
| HorasDeTrabajo | 0.0849921 | 1.0000000 | 0.0432618 | -0.0795341 | -0.1598738 |
| Edad | 0.1795695 | 0.0432618 | 1.0000000 | -0.0873497 | -0.0970483 |
| Estatura | 0.0808622 | -0.0795341 | -0.0873497 | 1.0000000 | -0.0514268 |
| Hermanos | -0.0353568 | -0.1598738 | -0.0970483 | -0.0514268 | 1.0000000 |
para identificar qué variables parecen tener mayor relación con el ingreso mensual, observamos los coeficientes de correlación de la matriz. La correlación más alta con el ingreso mensual es con la edad (0.1795695), indicando una ligera correlación positiva entre ambos: a medida que la edad aumenta, el ingreso mensual tiende a incrementar también, posiblemente debido a la acumulación de experiencia laboral. Las horas de trabajo también muestran una correlación positiva débil (0.0849921) con el ingreso mensual, sugiriendo que más horas trabajadas pueden estar asociadas con mayores ingresos. La estatura tiene una correlación positiva muy débil (0.0808622), mientras que el número de hermanos muestra una correlación negativa muy débil (-0.0353568) con el ingreso mensual, indicando que no hay una relación significativa. Por lo tanto, la edad parece ser la variable cuantitativa con mayor relación con el ingreso mensual en comparación con las demás variables consideradas.
Por otra parte, debido a que las variables cualitativas no se pueden agregar en una matriz de correlacion se procedera a hacer una boxplot entre el ingreso mensual y cada variable cualitativa. Esto con el proposito de visualizar la distribución del ingreso mensual en función de las variables cualitativas. Comparando estos box plot podremos establecer si existen varibales cualitativas fuertemente relacionadas con el ingreso mensual
# Grafica de boxplot que muestra la distribucion de los ingresos en funcion del genero
graf_ig <- ggplot(data = muestra,aes(x=IngresoMensual,y=Genero,fill=Genero)) +
geom_boxplot() +
labs(x ="Ingreso mensual", y="Genero", title = "Ingresos mensuales por genero")+
stat_boxplot(geom = "errorbar", width=0.35)+
theme_light()
graf_ig
# Grafica de boxplot que muestra la distribucion de los ingresos en funcion del nivel educativo
graf_in <- ggplot(data = muestra,aes(x=IngresoMensual,y=NivelEducativo,fill=NivelEducativo)) +
geom_boxplot() +
labs(x ="Ingreso mensual", y="Nivel educativo", title = "Ingresos mensuales por nivel educativo")+
stat_boxplot(geom = "errorbar", width=0.35)+
theme_light()
graf_in
según lo visto en las gráficas podemos concluir que no hay una relación fuerte entre el género y el ingreso mensual ya que las medianas no están significativamente alejadas y no se nota una dispersión de datos muy diferentes entre cada genero. Si las medianas de los ingresos mensuales para hombres, mujeres y otros géneros son significativamente diferentes, al igual que la dispersión de datos para cada grupo podría indicar una relación entre el género y el ingreso mensual, cosa que en este caso no pasa. sin embargo, el nivel educativo si muestra tener una relación mas fuerte con el ingreso mensual si vemos la mediana de cada grupo y la dispersión de los datos de cada uno. En el nivel educativo se muestra que los que tienden a estudiar una carrera universitaria generalmente suelen ganar mas entre solo los que estudiaron primaria, secundaria o hicieron carrera técnica.
Por tanto, dada la anterior información podemos concluir que la variable cuantitativa que tiene más relación con los ingresos mensuales es la edad y la variable cualitativa que tiene más relación con los ingresos mensuales es el nivel educativo
16. Si quisieras predecir las HorasDeTrabajo de una persona basándote en otras variables,¿qué variable(s) elegirías y por qué?.
si se quiere predecir las horas de trabajo de una persona basandonos en otra variable es necesario hallar la variable que tenga mas relacion con las horas de trabajo para esto haremos lo del punto anterior. Usaremos la matriz de correlacion que hicimos en el punto 15 para saber cual variable cuantitativa tiene mas relacion con las horas de trabajo y un analisis de la relacion de las variables cualitativas con las horas de trabajo por medio de un box-plot
variables_cuantitativas <- muestra[, c("IngresoMensual", "HorasDeTrabajo", "Edad","Estatura","Hermanos")]
# Calcular la matriz de correlación
matriz_correlacion <- cor(variables_cuantitativas)
# Mostrar la matriz de correlación
#Tabla realizada por Inteligencia artificial para mayor estetica [12]
kable(matriz_correlacion, format = "html", caption = "Matriz de correlacion entre las variables cuantitativas") %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F) %>% row_spec(0, bold = TRUE, color = "white", background = "black") %>% column_spec(1, bold = TRUE, color = "white", background = "black") %>% column_spec(2:6, width = "4em", border_left = TRUE) %>% column_spec(6, bold = FALSE, color = "black", background = "white") %>% row_spec(1:nrow(frecuencias.df), align = "center")
| IngresoMensual | HorasDeTrabajo | Edad | Estatura | Hermanos | |
|---|---|---|---|---|---|
| IngresoMensual | 1.0000000 | 0.0849921 | 0.1795695 | 0.0808622 | -0.0353568 |
| HorasDeTrabajo | 0.0849921 | 1.0000000 | 0.0432618 | -0.0795341 | -0.1598738 |
| Edad | 0.1795695 | 0.0432618 | 1.0000000 | -0.0873497 | -0.0970483 |
| Estatura | 0.0808622 | -0.0795341 | -0.0873497 | 1.0000000 | -0.0514268 |
| Hermanos | -0.0353568 | -0.1598738 | -0.0970483 | -0.0514268 | 1.0000000 |
La variable Número de Hermanos tiene una correlación negativa más fuerte con las horas de trabajo (-0.1598738) en comparación con las otras variables. Esto sugiere que, entre más hermanos tiene una persona, menos horas tiende a trabajar. Ahora analicemos las variables cualitativas.
graf_ig <- ggplot(data = muestra,aes(x=HorasDeTrabajo,y=Genero,fill=Genero)) +
geom_boxplot() +
labs(x ="Horas de trabajo", y="Genero", title = "Horas de trabajo por genero")+
stat_boxplot(geom = "errorbar", width=0.35)+
theme_light()
graf_ig
graf_in <- ggplot(data = muestra,aes(x=HorasDeTrabajo,y=NivelEducativo,fill=NivelEducativo)) +
geom_boxplot() +
labs(x ="Horas de trabajo", y="Nivel educativo", title = "Horas de trabajo por nivel educativo")+
stat_boxplot(geom = "errorbar", width=0.35)+
theme_light()
graf_in
Podemos ver en las graficas anterior que el genero no tien euna relacion fuerte con las horas de trabajo, ya que la mediana de todos los grupos son muy cercanas y la dispersion de los datos de cada uno no tienen diferencias notables, sin embargo, el nivel educativo si muestra una relacion mas fuerte, mostrando que la mayoria de los que tienden a estudiar una carrera universitaria suelen trabajar mas, esto comparando el cuartil 1 y 3 de cada box-plot.
Por tanto, en el caso de las variables cuantitativas se elegiria la variable “hermanos” para predecir las horas de trabajo y en el caso de las variables cualitativas se elegiria la varibale “Nivel educativo”
[1]Html, H. U. E. C. (s/f). Muñoz, Nathalia. (2012). Lección 16. Proporción, Tasa y Razón. En Epidemiología Ambiental. Edu.co. Recuperado el 8 de diciembre de 2024, de https://repository.unad.edu.co/bitstream/handle/10596/5126/Porporci%F3n?sequence=1
[2]13.1: Estadísticas básicas: media, mediana, promedio, desviación estándar, puntuaciones z y valor p. (2022, octubre 30). LibreTexts Español; Libretexts. https://espanol.libretexts.org/Ingenieria/Ingenier%C3%ADa_Industrial_y_de_Sistemas/Libro%3A_Din%C3%A1mica_y_Controles_de_Procesos_Qu%C3%ADmicos_(Woolf)/13%3A_Estad%C3%ADsticas_y_antecedentes_probabil%C3%ADsticos/13.01%3A_Estad%C3%ADsticas_b%C3%A1sicas
[3] (S/f). Uaemex.mx. Recuperado el 8 de diciembre de 2024, de http://ri.uaemex.mx/oca/view/20.500.11799/32031/1/secme-21225.pdf
[4]Histograma. (2021, julio 9). Jmp.com. https://www.jmp.com/es_co/statistics-knowledge-portal/exploratory-data-analysis/histogram.html
[5]Gráfico de Densidad. (s/f). Datavizcatalogue.com. Recuperado el 8 de diciembre de 2024, de https://datavizcatalogue.com/ES/metodos/grafico_de_densidad.html
[6]Cuartiles, deciles y percentiles. (s/f). Edu.mx. Recuperado el 8 de diciembre de 2024, de https://belver.clavijero.edu.mx/cursos/nme/semestre5/probyest_1/s3/contenidos/cuartiles_deciles_y_percentiles.html
[7]Diagrama Cajas y Bigotes. (s/f). Datavizcatalogue.com. Recuperado el 8 de diciembre de 2024, de https://datavizcatalogue.com/ES/metodos/diagrama_cajas_y_bigotes.html
[8]Diagrama de Dispersión. (s/f). Datavizcatalogue.com. Recuperado el 8 de diciembre de 2024, de https://datavizcatalogue.com/ES/metodos/diagrama_de_dispersion.html
[9]Cuadro de doble entrada - Qué es, funciones y cómo hacerlo. (s/f). Recuperado el 8 de diciembre de 2024, de https://concepto.de/cuadro-de-doble-entrada/
[10]de Doble Entrada, ¿cómo S. E. Hace U. N. Cuadro. (s/f). Nota Técnica n.o 4. Edu.ec. Recuperado el 8 de diciembre de 2024, de https://www.cise.espol.edu.ec/sites/cise.espol.edu.ec/files/pagina-basica/Nota%20te%CC%81cnica%20n.%C2%BA%204%20-%20%C2%BFCo%CC%81mo%20se%20hace%20un%20cuadro%20de%20doble%20entrada%3F.pdf
[11]Ortega, C. (2023, mayo 23). Matriz de correlación: Qué es, cómo funciona y ejemplos. QuestionPro. https://www.questionpro.com/blog/es/matriz-de-correlacion/
[12]Copilot. (2024). Interacción con inteligencia artificial de Microsoft. Microsoft. https://copilot.microsoft.com/
[13]OpenAI. (2024). ChatGPT (modelo GPT-4) [Software]. https://chat.openai.com