Objetivo

Realizar cálculos para determinar medidas de localización y tendencia central como la media, mediana, moda 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.

Proceso

1. Cargar librerías

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

Crear una Semilla

set.seed(2020)

2. Cargar o construir los datos

p<- 100 #Todas las Observaciones
edades<- sample(15:60, p, replace=TRUE)
pesos<- sample(40:60, p, replace=TRUE)
estaturas<- sample(140:205, p, replace=TRUE)/100

personas<- data.frame(edades,pesos,estaturas)
names(personas)<- c("Edad","Peso","Estatura")
personas

3. La media

a. edad nos centraremos en la variable de edad

variable.edad<- sum(personas$Edad)/p
variable.edad
## [1] 35.78

Tambien se puede mediante el metodo mean()

media.edad<-mean(personas$Edad)
media.edad
## [1] 35.78

b. peso Realizamos lo mismo pero ahora con el Peso

variable.peso<- sum(personas$Peso)/p
variable.peso
## [1] 50.34

Igual con el metodo mean()

media.peso<-mean(personas$Peso)
media.peso
## [1] 50.34

*c. estatura

variable.estatura<- sum(personas$Estatura)/p
variable.estatura
## [1] 1.724

Estatura Metodo Mean()

media.estatura<-mean(personas$Estatura)
media.estatura
## [1] 1.724

4. La mediana

a. edad Realizamos la mediana con la variable edad

mediana.edad<- median(personas$Edad)
mediana.edad
## [1] 35

Para comprobar que es la mediana

Se ordenan las edades Se determina el valor la posición de enmedio del total de los datos ordenados

ordendePersonasporEdad <- sort(personas$Edad)
posicion <- ceiling(p /2)

ordendePersonasporEdad
##   [1] 15 15 15 15 16 16 16 17 17 18 18 18 19 19 19 20 20 20 21 21 22 22 24 24 26
##  [26] 27 27 27 27 27 27 28 28 28 28 29 30 30 30 31 31 31 32 32 32 33 34 34 34 35
##  [51] 35 36 36 37 37 38 38 38 38 38 39 39 39 40 40 42 42 42 43 43 43 44 45 45 45
##  [76] 46 47 47 48 48 49 50 52 52 54 54 55 56 56 56 57 57 57 58 58 58 59 59 59 59

b. peso Mediana de la variable peso

mediana.peso<- median(personas$Peso)
mediana.peso
## [1] 51

Comprobamos que sea la Mediana

ordendePersonasporPeso <- sort(personas$Peso)
posicion <- ceiling(p /2)

ordendePersonasporPeso
##   [1] 40 40 40 40 41 41 41 41 42 42 42 42 42 42 43 43 43 43 43 43 43 44 44 45 45
##  [26] 46 46 46 46 46 46 47 47 47 48 48 48 48 48 49 49 49 49 49 49 50 50 50 50 51
##  [51] 51 51 51 51 51 51 51 51 51 52 52 52 52 52 53 53 53 54 54 54 55 55 56 56 56
##  [76] 56 56 57 57 58 58 58 58 58 58 58 58 58 58 58 59 59 59 59 59 60 60 60 60 60

c. estatura Mediana de la variable estatura

mediana.estatura<- median(personas$Estatura)
mediana.estatura
## [1] 1.71

Comprobamos que sea la Mediana

ordendePersonasporEst <- sort(personas$Estatura)
posicion <- ceiling(p /2)

ordendePersonasporEst
##   [1] 1.40 1.41 1.41 1.42 1.42 1.43 1.44 1.44 1.45 1.46 1.49 1.49 1.50 1.50 1.51
##  [16] 1.51 1.52 1.53 1.54 1.55 1.57 1.58 1.58 1.58 1.59 1.59 1.61 1.61 1.62 1.62
##  [31] 1.62 1.62 1.62 1.64 1.65 1.65 1.66 1.66 1.66 1.67 1.67 1.67 1.69 1.69 1.69
##  [46] 1.69 1.69 1.70 1.70 1.71 1.71 1.73 1.73 1.74 1.74 1.75 1.77 1.77 1.78 1.78
##  [61] 1.80 1.81 1.81 1.81 1.82 1.83 1.83 1.84 1.84 1.84 1.85 1.86 1.86 1.86 1.86
##  [76] 1.87 1.87 1.89 1.90 1.90 1.91 1.91 1.92 1.92 1.92 1.93 1.93 1.95 1.95 1.95
##  [91] 1.95 1.96 1.97 1.97 1.98 1.99 2.01 2.03 2.04 2.04

5. La moda

a. edad

frecu<- table(personas$Edad)
frecu<- sort(frecu, decreasing = TRUE)
frecu
## 
## 27 38 15 28 59 16 18 19 20 30 31 32 34 39 42 43 45 56 57 58 17 21 22 24 35 36 
##  6  5  4  4  4  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  2  2  2  2  2  2 
## 37 40 47 48 52 54 26 29 33 44 46 49 50 55 
##  2  2  2  2  2  2  1  1  1  1  1  1  1  1
moda<-frecu[1]
moda
## 27 
##  6

Otra forma es con el cat()

cat("La Moda es: ", names(moda)," con ", frecu[1])
## La Moda es:  27  con  6
print("¿Es una sola moda, bimodal o multimodal ?")
## [1] "¿Es una sola moda, bimodal o multimodal ?"
moda<- Mode(personas$Edad)
moda
## [1] 27

b. peso

frecu<- table(personas$Peso)
frecu<- sort(frecu, decreasing = TRUE)
frecu
## 
## 58 51 43 42 46 49 48 52 56 59 60 40 41 50 47 53 54 44 45 55 57 
## 11 10  7  6  6  6  5  5  5  5  5  4  4  4  3  3  3  2  2  2  2
moda<-frecu[1]
moda
## 58 
## 11

Otra forma es con el cat()

cat("La Moda es: ", names(moda)," con ", frecu[1])
## La Moda es:  58  con  11
moda<- Mode(personas$Peso)
moda
## [1] 58

c. estatura

frecu<- table(personas$Estatura)
frecu<- sort(frecu, decreasing = TRUE)
frecu
## 
## 1.62 1.69 1.86 1.95 1.58 1.66 1.67 1.81 1.84 1.92 1.41 1.42 1.44 1.49  1.5 1.51 
##    5    5    4    4    3    3    3    3    3    3    2    2    2    2    2    2 
## 1.59 1.61 1.65  1.7 1.71 1.73 1.74 1.77 1.78 1.83 1.87  1.9 1.91 1.93 1.97 2.04 
##    2    2    2    2    2    2    2    2    2    2    2    2    2    2    2    2 
##  1.4 1.43 1.45 1.46 1.52 1.53 1.54 1.55 1.57 1.64 1.75  1.8 1.82 1.85 1.89 1.96 
##    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1 
## 1.98 1.99 2.01 2.03 
##    1    1    1    1
moda<-frecu[1]
moda
## 1.62 
##    5

Otra forma es con el cat()

cat("La Moda es: ", names(moda)," con ", frecu[1])
## La Moda es:  1.62  con  5
moda<- Mode(personas$Estatura)
moda
## [1] 1.62 1.69

6. Visualizar datos

*a. Utilizar la librería ggplot2

Edades

ggplot(data = personas, aes(x = Edad)) +
  geom_bar()

ggplot(data = personas, aes(x = Edad)) +
  geom_histogram(bins = 30)

ggplot(personas, aes(x=Edad)) + 
  geom_histogram(aes(fill=..count..), bins=20, color="white") +
  geom_vline(aes(xintercept=mean(Edad)), color="red") +
  geom_vline(aes(xintercept=median(Edad)), color= "darkgreen")

* y por ultimo un histograma mas Completo

ggplot(aes(x = Edad), data = personas) +
 geom_histogram(color = 'green',
                fill = 'green',
                alpha = 0.2) +
 labs(title = "Histograma de las 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`.

#### Peso * Grafica de Barras del Peso

ggplot(data = personas, aes(x = Peso)) +
  geom_bar()

ggplot(data = personas, aes(x = Peso)) +
  geom_histogram(bins = 30)

ggplot(personas, aes(x=Peso)) + 
  geom_histogram(aes(fill=..count..), bins=20, color="white") +
  geom_vline(aes(xintercept=mean(Peso)), color="red") +
  geom_vline(aes(xintercept=median(Peso)), color= "darkgreen")

* y por ultimo un histograma mas Completo

ggplot(aes(x = Peso), data = personas) +
 geom_histogram(color = 'green',
                fill = 'green',
                alpha = 0.2) +
 labs(title = "Histograma de los Pesos") +
  geom_vline(aes(xintercept = median(Peso),
                  color = "mediana"),
              linetype = "dashed",
              size = 1) +
   geom_vline(aes(xintercept = mean(Peso),
                  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`.

Estatura

ggplot(data = personas, aes(x = Estatura)) +
  geom_bar()

ggplot(data = personas, aes(x = Estatura)) +
  geom_histogram(bins = 30)

ggplot(personas, aes(x=Estatura)) + 
  geom_histogram(aes(fill=..count..), bins=20, color="white") +
  geom_vline(aes(xintercept=mean(Estatura)), color="red") +
  geom_vline(aes(xintercept=median(Estatura)), color= "darkgreen")

* y por ultimo un histograma mas Completo

ggplot(aes(x = Estatura), data = personas) +
 geom_histogram(color = 'green',
                fill = 'green',
                alpha = 0.2) +
 labs(title = "Histograma de las Estaturas") +
  geom_vline(aes(xintercept = median(Estatura),
                  color = "mediana"),
              linetype = "dashed",
              size = 1) +
   geom_vline(aes(xintercept = mean(Estatura),
                  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`.

7. Interpretar y comunicar datos

Bueno en este caso se crean 100 personas que vienen siendo la población o muestra ahora sin nombres, nomas el puro numero con el fin de con el fin de encontrar la media, mediana y la moda que viene siendo lo estadístico y agregarle una representación a los datos mas padres y entendibles para las demás personas, bueno empecemos en la media de las edades, que sabemos que la media es la suma de todos los resultados por ejemplo el de las edades se suman todas las edades y se dividen entre el numero de la población que en este caso son 100 y el resultado fue: 35.78, en el peso la media fue: 50.34 y en la estatura su media fue: 1.724. ahora nos vamos con la mediana que para saber cual es la mediana es la que se encuentra en la mitad de todos los datos para sacarlo nomas se dividen los datos entre 2 en este caso la mediana de las edades fue: 35, la de el peso fue: 51 y la de las estaturas fue: 1.71, y por ultimo sigue la moda, para sacar la moda está más fácil ya que no se tiene que dividir ni multiplicar resultados solo es cuestión de ser observadores y checar que numero es el que se repite mas ya que es el que se repite mas veces es la moda, la moda de las edades fue: el 27 con 6 repeticiones, el del peso fue: 58 con 11 repeticiones y el estatura fue: 1.62 con 5 repeticiones. Y ya se muestran las graficas con todos los resultados y con esto se concluye este caso número 3.