1. Cargar librerías

library(readr)
library (ggplot2)
library(resumeRdesc) 

2. Construir los datos. 100 observaciones

set.seed(1234)
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   33 81.22     1.75
## 2   48 67.88     1.77
## 3   56 75.99     1.72
## 4   22 67.46     1.77
## 5   49 62.61     1.73
## 6   50 77.50     1.78
##     edad   peso estatura
## 95    40 107.52     1.87
## 96    49  82.51     1.88
## 97    34  84.30     1.58
## 98    54  60.51     1.66
## 99    55  77.44     1.74
## 100   66  43.83     1.73

3. Cuartiles al 25%, 50% y 75%

cuartiles <- quantile(personas$edad, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles[1]
## 25% 
##  36
cuartiles[2]
## 50% 
##  41
cuartiles[3]
## 75% 
##  50
cuartiles <- quantile(personas$peso, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles[1]
##     25% 
## 65.9775
cuartiles[2]
##    50% 
## 75.495
cuartiles[3]
##    75% 
## 84.505
cuartiles <- quantile(personas$estatura, probs = c(0.25, 0.50, 0.75), type = 6)
cuartiles[1]
##  25% 
## 1.66
cuartiles[2]
##  50% 
## 1.73
cuartiles[3]
##  75% 
## 1.77

4. Percentiles

percentil <- quantile(personas$edad, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
percentil[1]
## 10% 
##  33
percentil[2]
##  30% 
## 37.7
percentil[3]
## 50% 
##  41
percentil[4]
## 70% 
##  48
percentil[5]
##  90% 
## 58.1
percentil <- quantile(personas$peso, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
percentil[1]
##    10% 
## 58.329
percentil[2]
##    30% 
## 69.039
percentil[3]
##    50% 
## 75.495
percentil[4]
##    70% 
## 82.377
percentil[5]
##   90% 
## 96.26
percentil <- quantile(personas$estatura, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
percentil[1]
##  10% 
## 1.59
percentil[2]
##  30% 
## 1.67
percentil[3]
##  50% 
## 1.73
percentil[4]
##   70% 
## 1.763
percentil[5]
##   90% 
## 1.822

5. Visualizar datos

ggplot(data = personas, aes(y=edad)) +
         geom_boxplot() +
  labs(title = "Cuartiles de edad" ,subtitle =  paste("Q1 al 25% = ",round(quantile(personas$edad, 0.25),2), "Q2 al 50% = ",round(quantile(personas$edad), 2),"Q3 al 75% = ",round(quantile(personas$edad),2)))

ggplot(data = personas, aes(y=estatura)) +
         geom_boxplot() +
  labs(title = "Cuartiles de estatura" ,subtitle =  paste("Q1 al 25% = ",round(quantile(personas$estatura, 0.25),2), "Q2 al 50% = ",round(quantile(personas$estatura), 2),"Q3 al 75% = ",round(quantile(personas$estatura),2)))

ggplot(data = personas, aes(y=peso)) +
         geom_boxplot() +
  labs(title = "Cuartiles de peso" ,subtitle =  paste("Q1 al 25% = ",round(quantile(personas$peso, 0.25),2), "Q2 al 50% = ",round(quantile(personas$peso), 2),"Q3 al 75% = ",round(quantile(personas$peso),2)))

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

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

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

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

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

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

* Histograma media, mediana juntos

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(peso)) +
    geom_histogram(bins = 30) + 
    geom_vline(aes(xintercept = median(peso),
                  color = "mediana"),
              linetype = "dashed",
              size = 1) +
    geom_vline(aes(xintercept = mean(peso),
                  color = "media"),
              linetype = "dashed",
              size = 1) +
  labs(title = "Histograma de Peso",subtitle =  paste("Media = ", round(mean(peso),2), ", Mediana = ", round(median(peso),2))) 

ggplot(data = personas, aes(estatura)) +
    geom_histogram(bins = 30) + 
    geom_vline(aes(xintercept = median(estatura),
                  color = "mediana"),
              linetype = "dashed",
              size = 1) +
    geom_vline(aes(xintercept = mean(estatura),
                  color = "media"),
              linetype = "dashed",
              size = 1) +
  labs(title = "Histograma de Estatura",subtitle =  paste("Media = ", round(mean(estatura),2), ", Mediana = ", round(median(estatura),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(peso)) +
    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 Peso",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(estatura)) +
    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 Estatura",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)))

ggplot(data = personas, aes(peso)) +
    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 Peso 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)))

ggplot(data = personas, aes(estatura)) +
    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 Estatura 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)))

6. Interpretar y comunicar datos

Los cuartiles son valores que dividen un conjunto de datos en cuatro grupos que contienen aproximadamente el mismo número de observaciones. El total de 100 % se divide en cuatro partes iguales: 25%, 50%, 75% 100%. en este caso se hizo apartir de 25%, 50% y 75%. Los percentil es la medición en la cual un porcentaje de los valores totales es el mismo o menor que esa medición