#Cargar libreria

library(readr)
## Warning: package 'readr' was built under R version 4.0.3
library (ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.3
library(resumer)
## Warning: package 'resumer' was built under R version 4.0.3

#Generar Datos

set.seed(2020)
n <-  100
media.edad <- 45; ds.edad <- 10
media.peso <- 75; ds.peso <- 15
media.estatura <- 1.70; ds.estatura <- 0.10
edad <- round(rnorm(n = n, mean = media.edad, sd = ds.edad),0)
peso <- round(rnorm(n = n, mean = media.peso, sd = ds.peso),2)
estatura <- round(rnorm(n = n, mean = media.estatura, sd = ds.estatura),2)
personas <- data.frame(edad, peso, estatura)
head(personas); tail(personas)
##   edad  peso estatura
## 1   49 49.07     1.63
## 2   48 60.13     1.79
## 3   34 66.22     1.66
## 4   34 80.75     1.74
## 5   17 86.20     1.60
## 6   52 61.07     1.57
##     edad  peso estatura
## 95    43 64.09     1.73
## 96    37 84.40     1.63
## 97    48 58.63     1.65
## 98    52 67.26     1.88
## 99    40 75.25     1.60
## 100   38 84.91     1.64

#Genera cuartiles

cuartiles <- quantile(personas$edad, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles[1]
## 25% 
##  39
cuartiles[2]
## 50% 
##  46
cuartiles[3]
##   75% 
## 52.75
cuartiles <- quantile(personas$peso, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles[1]
##   25% 
## 59.53
cuartiles[2]
##   50% 
## 74.14
cuartiles[3]
##   75% 
## 85.88
cuartiles <- quantile(personas$estatura, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles[1]
##   25% 
## 1.605
cuartiles[2]
##  50% 
## 1.69
cuartiles[3]
##    75% 
## 1.7675

#PERCENTILES

percentil <- quantile(personas$edad, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
percentil[1]
##  10% 
## 32.9
percentil[2]
##  30% 
## 41.7
percentil[3]
## 50% 
##  46
percentil[4]
## 70% 
##  51
percentil[5]
##  90% 
## 61.1
percentil <- quantile(personas$peso, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
percentil[1]
##    10% 
## 50.902
percentil[2]
##    30% 
## 63.302
percentil[3]
##   50% 
## 74.14
percentil[4]
##    70% 
## 82.613
percentil[5]
##    90% 
## 93.698
percentil <- quantile(personas$estatura, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
percentil[1]
##   10% 
## 1.548
percentil[2]
##  30% 
## 1.63
percentil[3]
##  50% 
## 1.69
percentil[4]
##  70% 
## 1.75
percentil[5]
##   90% 
## 1.821

#GRAFICA LOS DATOS

ggplot(data = personas, aes(edad, colour = 'edad')) +
    geom_histogram(position = "stack", bins = 30)

ggplot(data = personas, aes(edad, colour = 'edad')) +
    geom_density()

ggplot(data = personas, aes(edad)) +
    geom_histogram(bins = 30) + 
    geom_vline(aes(xintercept = median(edad),
                  color = "mediana"),
              linetype = "dashed",
              size = 1) +
    geom_vline(aes(xintercept = mean(edad),
                  color = "media"),
              linetype = "dashed",
              size = 1) +
  labs(title = "Histograma de Edad",subtitle =  paste("Media = ", round(mean(edad),2), ", Mediana = ", round(median(edad),2))) 

ggplot(data = personas, aes(edad)) +
    geom_histogram(bins = 30) + 
    geom_vline(aes(xintercept = cuartiles[1],
                  color = "Q1"),
              linetype = "dashed",
              size = 1) +
    geom_vline(aes(xintercept = cuartiles[2],
                  color = "Q2"),
              linetype = "dashed",
              size = 1) +
    geom_vline(aes(xintercept = cuartiles[3],
                  color = "Q3"),
              linetype = "dashed",
              size = 1) +  
  labs(title = "Histograma de Edad",subtitle =  paste("Cuartil 1 al 25% = ",round(cuartiles[1],2), ", Cuartil 2 al 50% = ",round(cuartiles[2],2), ", Cuartil 3 al 75% = ",round(cuartiles[3],2)))

ggplot(data = personas, aes(edad)) +
    geom_histogram(bins = 30) + 
    geom_vline(aes(xintercept = percentil[1],
                  color = "Perc1"),
              linetype = "solid",
              size = 2) +
    geom_vline(aes(xintercept = percentil[2],
                  color = "Perc2"),
              linetype = "solid",
              size = 2) +
    geom_vline(aes(xintercept = percentil[3],
                  color = "Perc3"),
              linetype = "solid",
              size = 2) +  
      geom_vline(aes(xintercept = percentil[4],
                  color = "Perc4"),
              linetype = "solid",
              size = 2) +
    geom_vline(aes(xintercept = percentil[5],
                  color = "Perc5"),
              linetype = "solid",
              size = 2) + 
  labs(title = "Histograma de Edad. Perc = Percentiles",subtitle =  paste("Perc al 10% = ",round(percentil[1],2), "Perc al 30% = ",round(percentil[2],2),"Perc al 50% = ",round(percentil[3],2),"Perc al 70% = ",round(percentil[4],2),"Perc al 90% = ",round(percentil[5],2)))