install.packages(“rometes”) remotes::install_github(“osoramirez/resumeRdesc”)
library(readr) # Por si acaso cargamos datos ...
library(ggplot2) # Para visualizar
library(resumeRdesc) # Para estadísticos descriptivos
set.seed(2020)
n <- 100 # Total de observaciones
edades <- sample(19:81, n, replace = TRUE)
pesos <- sample(45:98, n, replace = TRUE)
estaturas <- sample(154:199, n, replace = TRUE) /100
personas <- data.frame(edades, pesos, estaturas)
names(personas) <- c("edad", "peso", "estatura")
personas
## edad peso estatura
## 1 46 85 1.63
## 2 62 60 1.79
## 3 41 50 1.77
## 4 40 68 1.74
## 5 42 70 1.88
## 6 19 54 1.97
## 7 35 70 1.78
## 8 54 77 1.96
## 9 60 72 1.75
## 10 24 45 1.86
## 11 67 61 1.68
## 12 63 84 1.84
## 13 74 59 1.65
## 14 26 88 1.84
## 15 60 94 1.54
## 16 68 57 1.80
## 17 34 49 1.57
## 18 72 68 1.56
## 19 47 92 1.73
## 20 52 64 1.77
## 21 66 96 1.73
## 22 21 64 1.97
## 23 20 58 1.82
## 24 47 57 1.54
## 25 74 72 1.92
## 26 58 61 1.97
## 27 22 74 1.97
## 28 68 89 1.75
## 29 32 83 1.65
## 30 32 85 1.65
## 31 30 84 1.63
## 32 66 71 1.66
## 33 65 73 1.80
## 34 32 97 1.98
## 35 25 79 1.95
## 36 38 79 1.94
## 37 36 46 1.97
## 38 70 57 1.82
## 39 39 52 1.78
## 40 70 67 1.72
## 41 66 76 1.55
## 42 62 48 1.97
## 43 77 83 1.57
## 44 72 90 1.64
## 45 36 93 1.72
## 46 28 97 1.82
## 47 49 80 1.94
## 48 24 68 1.55
## 49 65 92 1.73
## 50 61 85 1.60
## 51 31 73 1.61
## 52 50 72 1.67
## 53 78 98 1.97
## 54 42 46 1.78
## 55 31 76 1.89
## 56 63 61 1.76
## 57 20 61 1.63
## 58 49 81 1.66
## 59 34 54 1.80
## 60 31 95 1.88
## 61 19 91 1.80
## 62 56 55 1.80
## 63 21 95 1.73
## 64 47 61 1.76
## 65 43 83 1.60
## 66 63 57 1.81
## 67 61 54 1.58
## 68 43 82 1.80
## 69 23 65 1.92
## 70 61 54 1.75
## 71 76 55 1.74
## 72 56 91 1.78
## 73 20 47 1.98
## 74 43 69 1.79
## 75 53 88 1.69
## 76 42 75 1.72
## 77 68 67 1.85
## 78 51 95 1.79
## 79 72 89 1.95
## 80 25 92 1.89
## 81 26 48 1.89
## 82 39 65 1.62
## 83 74 85 1.81
## 84 31 81 1.54
## 85 52 96 1.98
## 86 23 47 1.95
## 87 72 70 1.87
## 88 22 98 1.98
## 89 37 45 1.59
## 90 66 73 1.94
## 91 80 58 1.77
## 92 41 68 1.56
## 93 22 71 1.79
## 94 70 83 1.91
## 95 36 62 1.87
## 96 60 80 1.87
## 97 19 63 1.57
## 98 65 69 1.93
## 99 40 82 1.62
## 100 49 48 1.96
media.edad <- sum(personas$edad) / n
media.edad
## [1] 47.33
media.edad <- mean(personas$edad)
media.edad
## [1] 47.33
mediana.edad <- median(personas$edad)
mediana.edad
## [1] 47
orden.personas.edad <- sort(personas$edad)
posicion <- ceiling(n /2)
orden.personas.edad
## [1] 19 19 19 20 20 20 21 21 22 22 22 23 23 24 24 25 25 26 26 28 30 31 31 31 31
## [26] 32 32 32 34 34 35 36 36 36 37 38 39 39 40 40 41 41 42 42 42 43 43 43 46 47
## [51] 47 47 49 49 49 50 51 52 52 53 54 56 56 58 60 60 60 61 61 61 62 62 63 63 63
## [76] 65 65 65 66 66 66 66 67 68 68 68 70 70 70 72 72 72 72 74 74 74 76 77 78 80
# La posicion
cat("Valor de la posición ",posicion, " del conjunto de datos (Vector) edades es: ", orden.personas.edad[posicion])
## Valor de la posición 50 del conjunto de datos (Vector) edades es: 47
# La posición cuando son par
cat("Valor de la posición ",posicion + 1, " del conjunto de datos (Vector) edades es: ", orden.personas.edad[posicion + 1])
## Valor de la posición 51 del conjunto de datos (Vector) edades es: 47
mediana.edad <- sum(orden.personas.edad[posicion], orden.personas.edad[posicion + 1]) / 2
mediana.edad
## [1] 47
frecuencia <- table(personas$edad)
frecuencia <- sort(frecuencia, decreasing = TRUE)
frecuencia
##
## 31 66 72 19 20 22 32 36 42 43 47 49 60 61 63 65 68 70 74 21 23 24 25 26 34 39
## 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2
## 40 41 52 56 62 28 30 35 37 38 46 50 51 53 54 58 67 76 77 78 80
## 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
moda <- frecuencia[1]
moda
## 31
## 4
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es: 31 con 4
print("¿Es una sola moda, bimodal o multimodal ?")
## [1] "¿Es una sola moda, bimodal o multimodal ?"
library(resumeRdesc)
moda <- Mode(personas$edad)
moda
## [1] 31 66 72
ggplot(data = personas, aes(x = edad)) +
geom_bar()
ggplot(data = personas, aes(x = edad)) +
geom_histogram(bins = 20)
ggplot(personas, aes(x=edad)) +
geom_histogram(aes(fill=..count..), bins=30, color="pink") +
geom_vline(aes(xintercept=mean(edad)), color="violet") +
geom_vline(aes(xintercept=median(edad)), color= "yellow")
ggplot(aes(x = edad), data = personas) +
geom_histogram(color = 'pink',
fill = 'pink',
alpha = 0.2) +
labs(title = "Histograma de Edad") +
geom_vline(aes(xintercept = median(edad),
color = "mediana"),
linetype = "dashed",
size = 1) +
geom_vline(aes(xintercept = mean(edad),
color = "media"),
linetype = "dashed",
size = 1) +
geom_vline(
aes(xintercept = moda[1],
color = "moda"),
linetype = "dashed",
size = 1
)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.