Parcial intermedio

A continuacion, se cargan los paquetes necesarios para todas las medidas descriptivas que se veran

Se tomará una muestra de 160 registros de la base de datos. Para ello se sembrará una semilla con el número 0227 y la muestra se llamará datos.d

# Leer archivo Excel
base_datos <- read_excel("Base_Estadistica_Descriptiva.xlsx")
set.seed(3393)

datos.d <- sample_n(base_datos,size=160,replace=FALSE)
datos.d

Solucion

Punto 1

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

hombres <- datos.d[datos.d$Genero == "Masculino", ]

hombres_uni <- datos.d[datos.d$NivelEducativo == "Universitario", ]

# Calculamos el porcentaje
porcentaje_hombres_uni <- (nrow(hombres_uni) / nrow(hombres)) * 100

# Contar mujeres
mujeres <- datos.d[datos.d$Genero == "Femenino", ]
total_mujeres <- nrow(mujeres)

cat("Porcentaje de hombres con estudios universitarios:", round(porcentaje_hombres_uni,2), "%\n")
## Porcentaje de hombres con estudios universitarios: 77.55 %
cat("Cantidad total de mujeres participantes:", total_mujeres, "\n")
## Cantidad total de mujeres participantes: 55

punto 2

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

muestra = sample_n(base_datos, size = 160, replace = FALSE)

boxplot(Estatura ~ Genero, data = muestra,main="Diagrama de cajas y bigotes", xlab = "Genero", ylab = "Estatura", col = c("pink","blue","gray"))

Analisis:

Por los bigotes expuestos en la graficas, se puede afirmar que el hombre con la altura mas baja es mas alto que la mujer con la altura mas baja, asimismo, el apartado de otro se encuetra aproximadamente en la mitad de ambos extremos de los bigotes.

Por otro lado se puede afirmar que la mediana de las mujeres es mayor al de los hombres, sin embargo, el extremo superior de la caja del genero masculino es mayor que es extremo superior de la caja femenina. Por lo tanto, es valido afirmar que se encuentran en promedio mujeres altas en comparacion con los hombres,

Por ultimo, en el genero definido como “otro” tanto el extremo inferior como el superior y la mediana son superiores a los otros dos generos evaluados. En conclusion, los evaluados como “otro” son en promedio mas altos que ambos generos (masculino y femenino).

punto 3

punto a

muestra1 <- sample_n(base_datos, size = 160, replace = FALSE)

names(muestra1)
## [1] "ID"             "Genero"         "NivelEducativo" "Edad"          
## [5] "Hermanos"       "Estatura"       "IngresoMensual" "HorasDeTrabajo"
str(muestra1)
## tibble [160 × 8] (S3: tbl_df/tbl/data.frame)
##  $ ID            : num [1:160] 7.03e+08 3.63e+08 9.08e+08 9.44e+08 3.82e+08 ...
##  $ Genero        : chr [1:160] "Masculino" "Masculino" "Masculino" "Otro" ...
##  $ NivelEducativo: chr [1:160] "Secundaria" "Primaria" "Secundaria" "Técnico" ...
##  $ Edad          : num [1:160] 54 27 39 56 49 52 42 37 41 41 ...
##  $ Hermanos      : num [1:160] 4 0 6 0 6 2 2 3 6 2 ...
##  $ Estatura      : num [1:160] 1.95 1.72 1.87 1.58 1.92 1.68 1.7 1.73 1.52 1.7 ...
##  $ IngresoMensual: num [1:160] 712 3080 763 2373 1630 ...
##  $ HorasDeTrabajo: num [1:160] 40.2 41.5 44.7 48.4 24.5 51.9 63.5 47.6 7.4 54.1 ...
frec_Hermanos <- table(muestra1$Hermanos) 
frec_Hermanos
## 
##  0  1  2  3  4  5  6 
## 28 19 23 22 19 20 29
barplot(frec_Hermanos)

barplot(frec_Hermanos, width = 1.3, ylim=c(0,130),col = 'burlywood',
        border = '#B03060',ylab="Frecuencia absoluta",main = "Diagrama de barras para la cantidad de Hermanos",
        xlab = "Categoría", density = 250)

is.data.frame(frec_Hermanos)
## [1] FALSE
df <- as.data.frame(frec_Hermanos)
is.data.frame(df)
## [1] TRUE
df
View(df)
attach(df)
df <- rename(df, Hermanos = Var1, frecuencia= Freq)

diag_barra <- ggplot(df, aes(x = Hermanos, y=frecuencia)) +
  geom_col() 

diag_barra

diag_barra <- ggplot(df, aes(x = Hermanos, y=frecuencia)) +
  geom_col() +
  geom_text(aes(label = Hermanos), vjust = 1, colour = "blue")

diag_barra

diag_barra <- ggplot(df, aes(x = Hermanos, y=frecuencia)) +
  geom_col() +
  geom_text(aes(label = Hermanos), vjust = -1, colour = "red") +
  ylim(c(0,60)) 
diag_barra

diag_barra <- ggplot(df, aes(x = Hermanos, y=frecuencia)) +
  geom_bar(stat = 'identity',fill = 4) 

diag_barra

diag_barra <- ggplot(df, aes(x = Hermanos, y=frecuencia, fill = Hermanos)) +
  geom_bar(stat = 'identity') +
  geom_text(aes(label = Hermanos), vjust = -1, colour = "black") +
  ylim(c(0,100)) 
diag_barra

Hermanos_mas_frecuente <- names(frec_Hermanos[frec_Hermanos == max(frec_Hermanos)])

Hermanos_mas_frecuente
## [1] "6"

punto b

frec_NivelEducativo <- table(muestra1$NivelEducativo) 
is.data.frame(frec_NivelEducativo)
## [1] FALSE
df <- as.data.frame(frec_NivelEducativo)
is.data.frame(df)
## [1] TRUE
names(df)
## [1] "Var1" "Freq"
attach(df)
## The following objects are masked from df (pos = 3):
## 
##     Freq, Var1
df <- rename(df, NivelEducativo = Var1, frecuencia= Freq)

pct <- round(Freq/sum(Freq)*100)
eti <- paste(Var1, pct) 
eti <- paste(eti,"%") 

library(plotrix)
torta1 <- pie3D(frec_NivelEducativo,main="Diagrama de torta",radius = 0.5,
                explode = 0.2, labels = eti)

punto c

Elabore una tabla de frecuencias, el histograma y el polígono de fre- cuencias para la variable HorasDeTrabajo.

Tabla de frecuencias

# 1. Tabla de frecuencias
tabla_frec <- table(datos.d$HorasDeTrabajo)
tabla_frec <- as.data.frame(tabla_frec)
colnames(tabla_frec) <- c("HorasDeTrabajo", "Frecuencia")
print(tabla_frec)
##     HorasDeTrabajo Frecuencia
## 1              8.1          1
## 2             16.5          1
## 3             19.4          1
## 4               20          2
## 5             21.4          1
## 6             22.8          1
## 7             23.4          1
## 8             23.7          1
## 9             23.8          1
## 10            24.6          1
## 11            24.7          1
## 12            25.5          2
## 13            25.8          1
## 14            25.9          2
## 15              26          1
## 16            26.4          1
## 17            26.7          1
## 18            27.7          1
## 19            27.9          1
## 20            28.2          1
## 21            28.3          1
## 22            28.9          1
## 23            29.1          1
## 24            29.3          2
## 25            29.5          1
## 26            29.7          2
## 27            30.4          1
## 28            30.5          1
## 29            30.6          1
## 30            31.2          3
## 31            31.7          1
## 32            31.9          2
## 33            32.4          1
## 34            33.3          1
## 35            33.8          1
## 36              34          1
## 37            34.3          1
## 38            34.4          1
## 39            34.5          1
## 40            34.9          1
## 41            35.1          1
## 42            35.4          1
## 43            35.5          1
## 44            35.6          1
## 45            36.1          1
## 46            36.2          1
## 47            36.5          2
## 48            36.6          2
## 49            36.7          2
## 50            37.4          1
## 51            37.5          1
## 52            37.7          1
## 53              38          1
## 54            38.1          2
## 55            38.2          2
## 56            38.3          1
## 57            38.7          2
## 58            38.8          1
## 59            39.1          1
## 60            39.2          1
## 61            39.4          2
## 62            39.5          1
## 63            39.6          2
## 64            39.8          1
## 65            39.9          2
## 66              40          3
## 67            40.1          1
## 68            40.4          1
## 69            40.7          2
## 70            40.9          1
## 71            41.1          2
## 72            41.2          1
## 73            41.3          1
## 74            41.4          1
## 75            41.5          1
## 76            41.7          1
## 77              42          1
## 78            42.2          1
## 79            42.3          2
## 80            42.7          1
## 81            42.9          1
## 82            43.1          1
## 83            43.2          1
## 84            43.3          1
## 85            43.4          1
## 86            43.7          1
## 87            44.2          2
## 88            44.5          1
## 89            44.6          1
## 90            44.7          1
## 91            44.9          1
## 92            45.1          1
## 93            45.3          2
## 94            45.6          1
## 95            46.2          1
## 96            46.5          1
## 97            47.1          1
## 98            47.3          1
## 99            47.4          1
## 100           47.6          1
## 101           47.8          1
## 102           48.2          1
## 103           48.5          1
## 104           48.8          1
## 105           48.9          1
## 106           49.1          2
## 107           49.3          2
## 108           49.4          2
## 109           49.5          1
## 110           49.9          1
## 111           50.1          1
## 112           50.4          1
## 113           51.2          1
## 114           51.3          1
## 115           51.4          2
## 116           51.6          2
## 117           51.7          2
## 118           52.9          1
## 119           53.7          1
## 120           54.9          1
## 121           56.6          1
## 122           57.1          1
## 123           57.5          1
## 124           58.4          1
## 125           62.4          1
## 126           63.1          1
## 127           64.2          1
## 128           66.9          1
## 129           68.6          1
## 130           77.2          1

Histograma

hist(datos.d$HorasDeTrabajo,
     main = "Histograma de Horas de Trabajo",
     xlab = "Horas de trabajo",
     ylab = "Frecuencia",
     col = "lightblue",
     border = "black")

Poliogono de frecuencias

# Polígono de frecuencias
plot(tabla_frec, type="fp") 

punto d

Elabore un dataframe con las medidas de tendencia central, de varia- bilidad, Q1 ,Q3 y las medidas de forma para la variable IingresoMensual.

# Medidas de tendencia central
media <- mean(datos.d$IngresoMensual)
mediana <- median(datos.d$IngresoMensual)
moda = mlv1(datos.d$IngresoMensual)
## Warning: argument 'method' is missing. Data are supposed to be continuous. 
##             Default method 'shorth' is used
# Medidas de variabilidad
varianza <- var(datos.d$IngresoMensual)
desv_est <- sd(datos.d$IngresoMensual)
rango <- max(datos.d$IngresoMensual) - min(datos.d$IngresoMensual)

# Cuartiles
Q1 <- as.numeric(quantile(datos.d$IngresoMensual, 0.25))
Q3 <- as.numeric(quantile(datos.d$IngresoMensual, 0.75))


#Medidas de forma
# Curtosis
curtosis <- sum((datos.d$IngresoMensual - media)^4) / (160 * desv_est^4)
#Asimetría
asimetria <- sum((datos.d$IngresoMensual - media)^3) / (160 * desv_est^3)


#Dataframe 
resultados <- data.frame(
  Media = media,
  Mediana = mediana,
  Moda = moda,
  Varianza = varianza,
  DesviacionEstandar = desv_est,
  Rango = rango,
  Q1 = Q1,
  Q3 = Q3,
  Asimetria = asimetria,
  Curtosis = curtosis
)


print(resultados)
##      Media  Mediana     Moda Varianza DesviacionEstandar   Rango       Q1
## 1 1910.194 1977.075 2197.344   753454           868.0173 4903.13 1256.467
##        Q3 Asimetria Curtosis
## 1 2481.21 -0.179864 2.836105

**