#Objetivo.
#Realizar cálculos para determinar medidas de localización y tendencia central como CUARTILES Y PERCENTILES con un conjunto de datos de personas.
#Descripción.
#Con un conjunto de datos de personas y con variables de interés como la edad, peso y estatura, determinar medidas de localización y tendencia central, se pide mostrar los datos, identificar las medidas visualizar gráficamente e interpretar las medidas.
#1. Cargar librerías.
library(readr)
library (ggplot2)
library(resumeRdesc)
#2. Cargar o construir los datos.
set.seed(1111)
# edades en donde la media sea 45 años y desviación estandar sea igual a 10 años.
# pesos en donde la media sea 75 kgs y desviación estandar sea igual 15 kgs.
# estaturas en donde la media sea 1.70 y desviación estandar sea igual a 0.10.
media.edad <- 45; ds.edad <- 10
media.peso <- 75; ds.peso <- 15
media.estatura <- 1.70; ds.estatura <- 0.10
# Simular los datos, utilizar rnorm()
edad <- round(rnorm(n = 100, mean = media.edad, sd = ds.edad),0)
peso <- round(rnorm(n = 100, mean = media.peso, sd = ds.peso),2)
estatura <- round(rnorm(n = 100, mean = media.estatura, sd = ds.estatura),2)
# Construir un conjunto de datos llamado personas
personas <- data.frame(edad, peso, estatura)
head(personas)
## edad peso estatura
## 1 44 85.16 1.69
## 2 58 62.46 1.70
## 3 51 83.98 1.72
## 4 57 70.66 1.60
## 5 46 75.95 1.56
## 6 16 91.47 1.74
#3. Cuartiles al 25%, 50% y 75%.
#Cuartiles es un vector de 3 posiciones [1], [2] y [3].
#Edad.
cuartiles.edad <- quantile(personas$edad, probs = c(0.25, 0.50, 0.75), type = 6)
#25%.
cuartiles.edad[1]
## 25%
## 40
## 25%
## 40
#50%.
cuartiles.edad[2]
## 50%
## 47
## 50%
## 47
#75%.
cuartiles.edad[3]
## 75%
## 55
## 75%
## 55
#Peso.
cuartiles.peso <- quantile(personas$peso, probs = c(0.25, 0.50, 0.75), type = 6)
#25%.
cuartiles.peso[1]
## 25%
## 66.5
## 25%
## 66.5
#50%.
cuartiles.peso[2]
## 50%
## 76.86
## 50%
## 76.86
#75%.
cuartiles.edad[3]
## 75%
## 55
## 75%
## 55
#Estatura.
cuartiles.estatura <- quantile(personas$estatura, probs = c(0.25, 0.50, 0.75), type = 6)
#25%.
cuartiles.estatura[1]
## 25%
## 1.64
## 25%
## 1.64
#50%.
cuartiles.estatura[2]
## 50%
## 1.695
## 50%
## 1.695
#75%.
cuartiles.estatura[3]
## 75%
## 1.7575
## 75%
## 1.7575
#4. Percentiles al 10%, 30%, 50%, 70% y 90%.
# Percentiles es un vector de 5 posiciones [1],[2],[3],[4] y [5].
#Edad.
percentil.edad <- quantile(personas$edad, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
#10%.
percentil.edad[1]
## 10%
## 33.9
## 10%
## 33.9
#30%
percentil.edad[2]
## 30%
## 41.7
## 30%
## 41.7
#50%.
percentil.edad[3]
## 50%
## 47
## 50%
## 47
#70%.
percentil.edad[4]
## 70%
## 52.3
## 70%
## 52.3
#90%
percentil.edad[5]
## 90%
## 62.1
## 90%
## 62.1
#Peso.
percentil.peso <- quantile(personas$peso, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
#10%.
percentil.peso[1]
## 10%
## 59.107
## 10%
## 59.107
#30%
percentil.peso[2]
## 30%
## 68.018
## 30%
## 68.018
#50%.
percentil.peso[3]
## 50%
## 76.86
## 50%
## 76.86
#70%.
percentil.peso[4]
## 70%
## 89.375
## 70%
## 89.375
#90%
percentil.peso[5]
## 90%
## 97.967
## 90%
## 97.967
#Estatura.
percentil.estatura <- quantile(personas$estatura, probs = c(0.10, 0.30, 0.50, 0.70, 0.90), type = 7)
#10%.
percentil.estatura[1]
## 10%
## 1.56
## 10%
## 1.56
#30%
percentil.estatura[2]
## 30%
## 1.65
## 30%
## 1.65
#50%.
percentil.estatura[3]
## 50%
## 1.695
## 50%
## 1.695
#70%.
percentil.estatura[4]
## 70%
## 1.733
## 70%
## 1.733
#90%
percentil.estatura[5]
## 90%
## 1.811
## 90%
## 1.811
#5. Visualizar datos
#Edad.
# Dencidad de la edad.
ggplot(data = personas, aes(edad, colour = 'Edad')) +
geom_density()

#Historigrama (Media, Mediana).
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)))

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

#Historigrama (Percentiles).
ggplot(data = personas, aes(edad)) +
geom_histogram(bins = 30) +
geom_vline(aes(xintercept = percentil.edad[1],
color = "P1"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.edad[2],
color = "P2"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.edad[3],
color = "P3"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.edad[4],
color = "P4"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.edad[5],
color = "P5"),
linetype = "solid",
size = 2) +
labs(title = "Histograma de Edad.",subtitle = paste("Percentil al 10% = ",round(percentil.edad[1],2), "Percentil al 30% = ",round(percentil.edad[2],2),"Percentil al 50% = ",round(percentil.edad[3],2),"Percentil al 70% = ",round(percentil.edad[4],2),"Percentil al 90% = ",round(percentil.edad[5],2)))

#Peso.
# Dencidad de la peso.
ggplot(data = personas, aes(peso, colour = 'Peso')) + geom_density()

#Historigrama (Media, Mediana).
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)))

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

#Historigrama (Percentiles).
ggplot(data = personas, aes(peso)) +
geom_histogram(bins = 30) +
geom_vline(aes(xintercept = percentil.peso[1],
color = "P1"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.peso[2],
color = "P2"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.peso[3],
color = "P3"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.peso[4],
color = "P4"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.peso[5],
color = "P5"),
linetype = "solid",
size = 2) +
labs(title = "Histograma de Peso.",subtitle = paste("Percentil al 10% = ",round(percentil.peso[1],2), "Percentil al 30% = ",round(percentil.peso[2],2),"Percentil al 50% = ",round(percentil.peso[3],2),"Percentil al 70% = ",round(percentil.peso[4],2),"Percentil al 90% = ",round(percentil.peso[5],2)))

#Estatura.
#Dencidad de la estatura.
ggplot(data = personas, aes(estatura, colour = 'Estatura')) +
geom_density()

#Historigrama (Media, Mediana).
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)))

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

#Historigrama (Percentiles).
ggplot(data = personas, aes(estatura)) +
geom_histogram(bins = 30) +
geom_vline(aes(xintercept = percentil.estatura[1],
color = "P1"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.estatura[2],
color = "P2"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.estatura[3],
color = "P3"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.estatura[4],
color = "P4"),
linetype = "solid",
size = 2) +
geom_vline(aes(xintercept = percentil.estatura[5],
color = "P5"),
linetype = "solid",
size = 2) +
labs(title = "Histograma de Estatura.",subtitle = paste("Percentil al 10% = ",round(percentil.estatura[1],2), "Percentil al 30% = ",round(percentil.estatura[2],2),"Percentil al 50% = ",round(percentil.estatura[3],2),"Percentil al 70% = ",round(percentil.estatura[4],2),"Percentil al 90% = ",round(percentil.estatura[5],2)))

#Interpretacion:Con la base de datos ya creada podemos usar la función quantile (), para delimitar los porcentajes dentro del objetivo a buscar, Cuartiles o Percentiles, pero para poder visualizar el valor a la vez que se entiende de manera más grafica el cómo funciona es necesario utilizar la librería ggplot (), esta nos permite realizar gráficas.