library(dplyr)
library (ggplot2)
library(descriptr)
library(knitr)
library(modeest)
library(fdth)
library(readxl)
library(plotrix)

Selección de la muestra

Base_Estadistica_Descriptiva <- read_excel("Base_Estadistica_Descriptiva.xlsx")


base_parcial <- Base_Estadistica_Descriptiva 
set.seed(60)
datos_parcial <- sample_n(base_parcial, size = 160, replace = FALSE)

is.data.frame(datos_parcial)
## [1] TRUE

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

tabla_genero <- table(datos_parcial$Genero, datos_parcial$NivelEducativo)
tabla_genero <- addmargins(tabla_genero)
tabla_genero
##            
##             Primaria Secundaria Técnico Universitario Sum
##   Femenino        18         16       8            10  52
##   Masculino       10         12      18            10  50
##   Otro            20         12      10            16  58
##   Sum             48         40      36            36 160

**La cantidad de mujeres participantes es de 52 en la muestra. Y el porcentaje de hombres con estudios universitarios es de 6.25 (con calculadora)

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

boxplot(datos_parcial$Estatura ~ datos_parcial$Genero, horizontal = TRUE, 
          xlab= "Estatura" , ylab= "Género",
      main="Boxplot Estatura en función del género", col=c("hotpink", 
                                            "deepskyblue", "mediumorchid") )

*las mujeres son más bajitas, ya que su mediana es cerca de 1.73 centimentros, mientras que los hombre son un poco mas altos al tener su mediana en alrededor

Pregunta 3A Elabore un diagrama de barras para la variable Hermanos y determine qué cantidad es la más frecuente.

tabla_hermanos <- table (datos_parcial$Hermanos)

tabla_hermanos
## 
##  0  1  2  3  4  5  6 
## 16 20 26 21 26 21 30
is.data.frame(tabla_hermanos)
## [1] FALSE
df_hermanos <- as.data.frame(tabla_hermanos)

is.data.frame(df_hermanos)
## [1] TRUE
df_hermanos
##   Var1 Freq
## 1    0   16
## 2    1   20
## 3    2   26
## 4    3   21
## 5    4   26
## 6    5   21
## 7    6   30
df_hermanos <- rename(df_hermanos, Hermanos = Var1, Frecuencia= Freq)

kable(df_hermanos)
Hermanos Frecuencia
0 16
1 20
2 26
3 21
4 26
5 21
6 30
diag_barras <- ggplot(df_hermanos, aes(x = Hermanos , y=Frecuencia, fill = Hermanos)) +
  geom_bar(stat = "identity", color = "darkblue") +
  scale_fill_manual(values = c("dodgerblue3", "royalblue4", "blue4", "skyblue", "blue3","dodgerblue2", "dodgerblue1" ))+
  geom_text(aes(label = Hermanos), vjust = -1, colour = "darkblue") +
  ylim(c(0,50))
diag_barras

*La cantidad más frecuete es de tener 6 hermanos

Pregunta 3b Elabore un diagrama de torta en 3D para la variable NivelEducativo

tabla_nivel_educativo <- table (datos_parcial$NivelEducativo)

tabla_nivel_educativo
## 
##      Primaria    Secundaria       Técnico Universitario 
##            48            40            36            36
is.data.frame(tabla_nivel_educativo)
## [1] FALSE
df_nivel_educativo <- as.data.frame(tabla_nivel_educativo)

is.data.frame(df_nivel_educativo)
## [1] TRUE
df_nivel_educativo
##            Var1 Freq
## 1      Primaria   48
## 2    Secundaria   40
## 3       Técnico   36
## 4 Universitario   36
df_nivel_educativo <- rename(df_nivel_educativo, Nivel_Educativo = Var1, Frecuencia= Freq)

kable(df_nivel_educativo)
Nivel_Educativo Frecuencia
Primaria 48
Secundaria 40
Técnico 36
Universitario 36
pie3D(tabla_nivel_educativo, radius = 1.1, theta = pi/4, explode=0.2, labels = c("Primaria", "Secundaria", "Técnico", "Universitario"),col= c("dodgerblue3", "royalblue4", "blue4", "skyblue"),
      border = "purple", main= "Diagrama de torta en 3D", )

Pregunta 3C Elabore una tabla de frecuencias, el histograma y el polígono de frecuencias para la variable HorasDeTrabajo.

tabla_horasdetrabajo <- fdt(x =datos_parcial$HorasDeTrabajo,k =10)

kable(tabla_horasdetrabajo)
Class limits f rf rf(%) cf cf(%)
[16.434,21.164) 3 0.01875 1.875 3 1.875
[21.164,25.893) 9 0.05625 5.625 12 7.500
[25.893,30.623) 14 0.08750 8.750 26 16.250
[30.623,35.353) 26 0.16250 16.250 52 32.500
[35.353,40.082) 29 0.18125 18.125 81 50.625
[40.082,44.812) 29 0.18125 18.125 110 68.750
[44.812,49.542) 22 0.13750 13.750 132 82.500
[49.542,54.272) 15 0.09375 9.375 147 91.875
[54.272,59.001) 10 0.06250 6.250 157 98.125
[59.001,63.731) 3 0.01875 1.875 160 100.000
x
start 16.4340
end 63.7310
h 4.7297
right 0.0000
plot(tabla_horasdetrabajo, col=c("blue4","blue3","blue2","blue", "deepskyblue2",
                          "deepskyblue4","dodgerblue", "dodgerblue4",
                          "dodgerblue3", "royalblue4"),
     type = "fh", main = "Histograma de las horas de trabajo")

plot(tabla_horasdetrabajo, col=c("blue4","blue3","blue2","blue", "deepskyblue2",
                          "deepskyblue4","dodgerblue", "dodgerblue4",
                          "dodgerblue3", "royalblue4"),
     type = "fp", main = "Poligono de frecuencias de las horas de trabajo")

Pregunta 3d Elabore un dataframe con las medidas de tendencia central, de variabilidad, Q1 ,Q3 y las medidas de forma para la variable IingresoMensual.

##Medidas de tendencia central
media_ingreso <- mean(datos_parcial$IngresoMensual)
mediana_ingreso <-  median(datos_parcial$IngresoMensual)
moda_ingreso <- mlv1(datos_parcial$IngresoMensual)

df_tc <- data.frame (media_ingreso, mediana_ingreso, moda_ingreso)
kable(df_tc, caption = "Medidas de Tendencia Central")
Medidas de Tendencia Central
media_ingreso mediana_ingreso moda_ingreso
1915.989 1899.855 1705.291
##Medidas de variabilidad
rango_ingreso <- max(datos_parcial$IngresoMensual) -min(datos_parcial$IngresoMensual)
varianza_ingreso <-  var(datos_parcial$IngresoMensual)
ds_ingreso <- sqrt(var(datos_parcial$IngresoMensual))
CV_ingreso <-  (sd(datos_parcial$IngresoMensual) / mean(datos_parcial$IngresoMensual))*100

df_v <- data.frame (rango_ingreso, varianza_ingreso, ds_ingreso, CV_ingreso)
kable(df_v, caption = "Medidas de Variabilidad")
Medidas de Variabilidad
rango_ingreso varianza_ingreso ds_ingreso CV_ingreso
4891.84 709621 842.39 43.96633
##Medidas de posición 
percentil_ingreso <- quantile(datos_parcial$IngresoMensual, 
                              probs = c(0.25, 0.75), type= 6)
percentil_ingreso
##      25%      75% 
## 1273.197 2485.113
#Medidas de Forma
asim_ingreso <- ds_skewness(datos_parcial$IngresoMensual)
curt_ingreso <- ds_kurtosis(datos_parcial$IngresoMensual)

df_f <- data.frame (asim_ingreso, curt_ingreso)
kable(df_f, caption = "Medidas de Forma")
Medidas de Forma
asim_ingreso curt_ingreso
0.1709257 0.1402241
#Resumen
resumen_ingreso <- ds_tidy_stats(datos_parcial, IngresoMensual)
kable(resumen_ingreso)
vars min max mean t_mean median mode range variance stdev skew kurtosis coeff_var q1 q3 iqrange
IngresoMensual -274.41 4617.43 1915.989 1910.085 1899.855 -274.41 4891.84 709621 842.39 0.1709257 0.1402241 43.96633 1294.473 2468.198 1173.725