CASO 3

MEDIDAS DE TENDENCIA CENTRAL. MEDIDAS DE LOCALIZACIÓN

NOMBRE:

Medidas de localización o de Tendencia Central

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

PASOS A SEGUIR

1.- Cargar librerías

2.- Cargar o construir los datos

3.- La media

4.- La mediana

5.- La moda

6.- Visualizar datos

7.- Interpretar y comunicar datos

PASO 1. Cargar librerías o paquetes.

a) Librería readr para cargar datos de formato csv por si lo necesitamos.

b) Librería ggplot2 que nos sirve para gráficos más amigables.

c) Librería resumeRdesc gráficos descriptivos.

library(readr) #Por si cargamos datos
library(ggplot2) #Librería para visualizar gráficamente la información
library(resumeRdesc) #Librería para estadísticos descriptivos

PASO 2. Cargar o contruir los datos.

Lo primer que haremos será poner una ‘semilla’ para que los datos que se generen aleatoriamente sean siempre los mismos.

set.seed(123)

Ahora vammos a generar esos datos aleatorios a través de variables.

num: Las 100 personas

Edades: Edades en un rango de 15 a 65 años.

Pesos: Pesos en un rango de 40 a 100 kgs.

Estaturas: Estaturas en un rango de 1.40 y 2.05 metros.

num = 100 #Total de observaciones.
Edades = sample(15:65,num, replace = TRUE)
Pesos = sample(40:100, num, replace = TRUE)
  Estaturas = sample(140:205, num, replace = TRUE)/ 100

Ahora vamos a contruir un conjunto de datos llamado personas

Después, vamos a modificar el nombre del conjuto de datos personas con ‘Edad’, ‘Peso’ y ‘Estatura’ con la función names().

Para finalizar, se mostrará el conjunto de datos personas.

Personas = data.frame(Edades, Pesos, Estaturas)
names(Personas) = c("Edad", "Peso", "Estatura")
Personas
##     Edad Peso Estatura
## 1     45   71     1.47
## 2     29   46     1.85
## 3     65   42     2.05
## 4     28   62     1.85
## 5     17   93     1.83
## 6     56   97     1.71
## 7     64   54     1.75
## 8     57   60     1.84
## 9     51   76     1.53
## 10    28   47     1.55
## 11    39   90     1.72
## 12    40   49     1.79
## 13    41   89     1.79
## 14    19   81     1.49
## 15    65   83     1.48
## 16    41   73     1.46
## 17    42   49     1.46
## 18    23   61     1.97
## 19    43   51     2.00
## 20    49   59     1.63
## 21    22   85     2.02
## 22    40   56     1.93
## 23    21   85     1.62
## 24    56   93     1.65
## 25    23   74     1.72
## 26    33   79     1.96
## 27    50   85     1.68
## 28    28   90     1.49
## 29    31   69     1.92
## 30    57   54     1.93
## 31    53   63     1.50
## 32    26   88     1.64
## 33    29   62     1.91
## 34    46   82     1.65
## 35    56   46     1.46
## 36    59   68     1.64
## 37    21   54     1.71
## 38    23   62     1.63
## 39    55   65     1.96
## 40    24   77     1.62
## 41    37   85     1.53
## 42    41   71     1.45
## 43    21   46     1.40
## 44    41   66     1.97
## 45    46   81     1.68
## 46    52   44     1.65
## 47    39   45     1.66
## 48    48   55     1.46
## 49    43   63     1.99
## 50    19   71     1.65
## 51    22   60     1.80
## 52    26   94     1.45
## 53    27   50     1.70
## 54    32   75     1.56
## 55    47   83     2.03
## 56    41   85     1.76
## 57    39   99     1.96
## 58    52  100     1.59
## 59    35   58     1.74
## 60    29   64     1.72
## 61    55   78     2.05
## 62    61   93     1.43
## 63    40   65     1.44
## 64    45   48     1.64
## 65    30   46     1.47
## 66    44   73     1.94
## 67    20   87     1.84
## 68    57   52     1.57
## 69    22   58     1.81
## 70    36   95     1.70
## 71    36   91     1.45
## 72    53   86     2.00
## 73    45   78     1.87
## 74    62   43     1.56
## 75    31   40     1.84
## 76    64   79     2.02
## 77    63   69     1.92
## 78    48   69     1.92
## 79    18   91     2.02
## 80    27   64     1.56
## 81    19   55     1.41
## 82    65   63     1.88
## 83    39   93     1.41
## 84    36   50     1.52
## 85    39   87     1.63
## 86    46   59     1.88
## 87    60   79     1.41
## 88    39   42     1.76
## 89    37   68     2.02
## 90    49   75     1.52
## 91    54   91     1.81
## 92    62   83     2.00
## 93    44   61     1.77
## 94    26   88     2.03
## 95    45   81     1.75
## 96    60   98     1.74
## 97    44   59     1.87
## 98    49   50     2.05
## 99    28   96     1.62
## 100   43   94     1.48

PASO 3. La media.

a) Edad

b) Peso

c) Estatura

Vamos a determinar la media de nuestras 3 variables (Edad, Peso, Estatura)

Comenzaremos con Edad

Media.Edad = sum(Personas$Edad)/num #La variable de interés es Edad
# Sumamos todos los valores de la variable Edad y los dividimos entre el número de elementos (100 o ´num´)

Media.Edad
## [1] 40.73

La forma más sencilla de determian la media de un conjunto de datos (ya sea muestra o población) es con una función llamada mean()

Utilizamos la misma variable Media.Edad (o sea que actualizaremos la variable), y obtendermos el mismo resultado.

La idea es conocer distintas formas de llegar al mismo resultado.

Media.Edad = mean(Personas$Edad)
Media.Edad
## [1] 40.73

Ahora calucularemos la media de la variable Peso de la forma que más se nos facilite

Media.Peso = mean(Personas$Peso) #Variable de interés es Peso
Media.Peso #Mostramos el resultado
## [1] 70.42

Para finalizar calucularemos la media de la variable Estatura de la forma que prefiramos.

Media.Estatura = mean(Personas$Estatura) #Variable de interés es Estatura
Media.Estatura #Mostramos el resultado
## [1] 1.7222

PASO 4. La mediana.

a) Edad

b) Peso

c) Estatura

Para calcular la mediana siempre se deben de organizar los números de menos a mayor

y después se escoje el valor que se encuentre justo en medio de todos los datos ya ordenados.

Cuando calculamos la media, se pueden presentar 2 casos.

Conjunto de datos impar, donde la media es el valor del dato que se encuntra justo en la mitad del conjunto.

y Conjunto de datos par, donde la media es el promedio de los 2 valores que se encuntra justo en la mitad del conjunto.

Dicho esto, primero vamos a determinar la mediana de la variable Edad de las personas de forma manual.

Orden.Edades = sort(Personas$Edad) #Primero ordenamos los datos con la función sort()
PosicionMitad = ceiling(100/2) # Para saber cuál es la posición que está justo en medio
Orden.Edades #Mostramos las edades ordenadas.
##   [1] 17 18 19 19 19 20 21 21 21 22 22 22 23 23 23 24 26 26 26 27 27 28 28 28 28
##  [26] 29 29 29 30 31 31 32 33 35 36 36 36 37 37 39 39 39 39 39 39 40 40 40 41 41
##  [51] 41 41 41 42 43 43 43 44 44 44 45 45 45 45 46 46 46 47 48 48 49 49 49 50 51
##  [76] 52 52 53 53 54 55 55 56 56 56 57 57 57 59 60 60 61 62 62 63 64 64 65 65 65

Mensaje de texto que nos diga cuál es la posición en medio del conjunto de datos.

Cuando el conjunto es impar

cat("El valor de la posición", PosicionMitad, "del conjunto de datos Edad es:",Orden.Edades[PosicionMitad])
## El valor de la posición 50 del conjunto de datos Edad es: 41

Y cuando el conjunto de datos es par debemos de agregar esta línea de código:

cat("El valor de la posición", PosicionMitad + 1, "del conjunto de datos Edad es:",Orden.Edades[PosicionMitad + 1])
## El valor de la posición 51 del conjunto de datos Edad es: 41

La media en el caso impar es el valor que está a la mitad:

Orden.Edades[PosicionMitad]
## [1] 41

y en el caso par son los 2 valores que explicamos anteriormente, divididos entre 2 (o, dicho de otra manera, su promedio)

Mediana.Edades = (Orden.Edades[PosicionMitad] + Orden.Edades[PosicionMitad + 1])/2
Mediana.Edades
## [1] 41

Ahora que ya sabemos hacerlo manualmente y cómo se saca la mediana, vamos a hacerlo con la funciión median()

que lo calcula auntomáticamente.

• Mediana de Edad

Mediana.Edades = median(Personas$Edad)
Mediana.Edades
## [1] 41

• Mediana de Peso

Mediana.Peso = median(Personas$Peso)
Mediana.Peso
## [1] 70

• Mediana de Estatura

Mediana.Estatura = median(Personas$Estatura)
Mediana.Estatura
## [1] 1.715

PASO 5. La moda

a) Edad

b) Peso

c) Estatura

• Por medio de la función table() vamos a determinar la frecuencia de cada valor de edades

• Vamos a ordenar la frecuencia de manera descendiente con la función sort()

• Una vez ordenado de esa manera, podemos determinar que el valor en la posición 1 es el que más se repite,

es decir que es la moda.

Comenzamos con la variable Edad

Frecu = table(Personas$Edad) # Tomamos los datos
Frecu = sort(Frecu, decreasing = TRUE) #Los ordenamos descendientemente
Frecu #Mostramos los resultados
## 
## 39 41 28 45 19 21 22 23 26 29 36 40 43 44 46 49 56 57 65 27 31 37 48 52 53 55 
##  6  5  4  4  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  2  2  2  2  2  2  2 
## 60 62 64 17 18 20 24 30 32 33 35 42 47 50 51 54 59 61 63 
##  2  2  2  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
ModaEd = Frecu[1] #Como habíamos dicho, la moda es la que se encuentra en la posición 1
ModaEd
## 39 
##  6
cat("La moda es ", names(ModaEd), " con ", Frecu[1], " repeticiones.") #Mostramos un mensaje de texto.
## La moda es  39  con  6  repeticiones.
print("La moda de este conjunto ¿es solo una moda, es bimodal o es multimodal?")
## [1] "La moda de este conjunto ¿es solo una moda, es bimodal o es multimodal?"

Para saber esto, es necesario haber instalado la librería

install.packages(“remotes”)

de la siguiente manera:

remotes::install_github(“osoramirez/resumeRdesc”)

Utilizando la librería resumenRdesc podemos determinar la moda de una variable.

Esta librería tiene la función directa para calcular la moda.

(La librería ya la cargamos al comienzo, solo resta usarla)

ModaEd = Mode(Personas$Edad)
ModaEd
## [1] 39

Moda de: Peso

Moda.Peso = Mode(Personas$Peso)
Moda.Peso
## [1] 85

Moda de Estatura

Moda.Estatura = Mode(Personas$Estatura)
Moda.Estatura
## [1] 1.46 1.65 2.02

PASO 6. Visualizar datos.

a) Utilizar la librería ggplot2

• Ver la gráfica de barras: Edad

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

• Ver el Histograma: Edad

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

• Ver el Histograma con medida de localización: Edad

ggplot(Personas, aes(x=Edad)) + 
  geom_histogram(aes(fill=..count..), bins=20, color="darkgreen") +
  geom_vline(aes(xintercept=mean(Edad)), color="purple") +
  geom_vline(aes(xintercept=median(Edad)), color= "orange")

• Ver gráfico completo: Edad

ggplot(aes(x = Edad), data = Personas) +
 geom_histogram(binwidth = 1.5,
                color = 'orange',
                fill = 'orange',
                alpha = 0.2) +
 labs(title = "Histograma de variable 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 = ModaEd[1],
         color = "Moda"),
     linetype = "dashed",
     size = 1
   )

• Gráfico completo: Peso

ggplot(aes(x = Peso), data = Personas) +
 geom_histogram(binwidth = 1.5,
                color = 'red',
                fill = 'red',
                alpha = 0.2) +
 labs(title = "Histograma de variable Peso") +
  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.Peso[1],
         color = "Moda"),
     linetype = "dashed",
     size = 1
   )

• Gráfico completo: Estatura

ggplot(aes(x = Estatura), data = Personas) +
 geom_histogram(binwidth = 0.07,
                color = 'black',
                fill = 'black',
                alpha = 0.2) +
 labs(title = "Histograma de variable Estatura") +
  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.Estatura[1],
         color = "Moda"),
     linetype = "dashed",
     size = 1
   )

PASO 7. Interpretar y comunicar datos.

• La media de Edad es 40.73 años.

• La media de Estatura es 1.7222 metros. Eso quiere decir que son personas con estatura promedio/altas.

• La media de Peso es 70.42 kilogramos. Si tomamos en cuenta la Estatura promedio, podemos decir que es un peso saludable.

• La edad que más se repite son 39 años. Hay 6 personas con esa edad.

• Es una moda única. Solo 39 años se repite 6 veces.

• El peso más repetido son 85 kilogramos. Eso quiere decir que es una moda única.

• En la estuatura si tuvimos una moda polimodal, ya que hay 3 estaturas que son las que más se repiten:

1.46metros, 1.65 metros y 2.02 metros

• Las gráficas de barras nos son muy útiles para conocer información rápidamente, gracias a que está representada de manera gráfica.

• La librería ggplot2 nos presenta gráficas de barras más completas y con más herramientas.


Myriam Velázquez Franco.
c19041180