1. Cargar librerías o paquetes

library(readr)
library(ggplot2)

2. Cargar o construir los datos

set.seed(2020)
n <- 100
edades <- sample(15:65, n, replace = TRUE)
pesos <- sample(40:100, n, replace = TRUE)
estaturas <- sample(140:205, n, replace = TRUE) /100

personas <- data.frame(edades, pesos, estaturas)
names(personas) <- c("edad", "peso", "estatura")

personas
##     edad peso estatura
## 1     42   97     1.97
## 2     58   89     1.77
## 3     37   52     1.43
## 4     36   44     1.65
## 5     38   63     1.60
## 6     15   87     1.64
## 7     31   59     1.72
## 8     50   91     1.70
## 9     56   59     1.70
## 10    20   53     1.40
## 11    63   52     1.90
## 12    59   67     1.43
## 13    22   56     1.42
## 14    56   69     1.59
## 15    64   84     1.98
## 16    30   78     1.63
## 17    43   80     1.59
## 18    48   99     1.83
## 19    62   99     1.68
## 20    17   79     1.40
## 21    16   66     1.83
## 22    43   68     1.83
## 23    54   92     1.61
## 24    18   74     1.96
## 25    64   98     1.51
## 26    28   74     1.51
## 27    28   41     2.00
## 28    26   52     1.49
## 29    62   47     1.52
## 30    61   62     1.66
## 31    28  100     1.96
## 32    21   71     1.41
## 33    34   43     1.88
## 34    32   78     1.83
## 35    35   85     1.50
## 36    62   88     1.90
## 37    58   94     1.80
## 38    32   92     1.41
## 39    24   75     1.93
## 40    45   63     1.59
## 41    20   87     1.46
## 42    61   80     2.01
## 43    57   99     1.53
## 44    27   68     1.64
## 45    46   67     1.75
## 46    38   93     1.62
## 47    27   41     1.90
## 48    59   71     2.03
## 49    16   56     1.52
## 50    45   56     1.66
## 51    30   76     1.66
## 52    27   49     1.59
## 53    15   90     1.62
## 54    52   86     1.67
## 55    17   50     1.91
## 56    43   90     1.78
## 57    39   56     1.92
## 58    59   78     1.84
## 59    57   52     1.87
## 60    39   49     1.55
## 61    19   77     1.65
## 62    57   94     1.81
## 63    52   95     1.67
## 64    16   60     1.89
## 65    39   49     2.04
## 66    49   98     1.81
## 67    38   50     1.73
## 68    64   99     1.84
## 69    47   86     1.45
## 70    21   42     1.90
## 71    22   64     1.42
## 72    35   83     1.86
## 73    27   70     1.65
## 74    48   62     1.93
## 75    19   90     1.95
## 76    18   84     1.77
## 77    33   87     1.73
## 78    62   43     1.43
## 79    37   60     1.82
## 80    18   99     1.81
## 81    32  100     1.80
## 82    56   80     1.69
## 83    15   76     1.71
## 84    61   91     1.95
## 85    36   95     1.70
## 86    45   98     1.77
## 87    55   42     1.66
## 88    30   97     1.86
## 89    20   65     1.50
## 90    38   93     1.41
## 91    40   40     1.40
## 92    24   68     1.46
## 93    40   53     1.58
## 94    47   63     1.92
## 95    42   66     1.84
## 96    15   78     1.51
## 97    31   57     1.93
## 98    54   75     1.50
## 99    29   58     1.98
## 100   58   64     1.67

3. La media

media.edad <- mean(personas$edad)
media.edad
## [1] 38.81
media.peso <- mean(personas$peso)
media.peso
## [1] 72.65
media.estatura <- mean(personas$estatura)
media.estatura
## [1] 1.7069

4. La mediana

Mediana de edad de personas
mediana.edad <- median(personas$edad)
mediana.edad
## [1] 38
Comprobacion de la mediana de edad de personas
orden.personas.edad <- sort(personas$edad)
posicion <- ceiling(n /2)
orden.personas.edad
##   [1] 15 15 15 15 16 16 16 17 17 18 18 18 19 19 20 20 20 21 21 22 22 24 24 26 27
##  [26] 27 27 27 28 28 28 29 30 30 30 31 31 32 32 32 33 34 35 35 36 36 37 37 38 38
##  [51] 38 38 39 39 39 40 40 42 42 43 43 43 45 45 45 46 47 47 48 48 49 50 52 52 54
##  [76] 54 55 56 56 56 57 57 57 58 58 58 59 59 59 61 61 61 62 62 62 62 63 64 64 64
La posicion de la mediana
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:  38
La posicion de la mediana cuando es inpar
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:  38
Segunda comprobacion
mediana.edad <- sum(orden.personas.edad[posicion], orden.personas.edad[posicion + 1]) / 2
mediana.edad
## [1] 38
Mediana de peso de personas
mediana.peso <- median(personas$peso)
mediana.peso
## [1] 74
Comprobacion de la mediana de edad de personas
orden.personas.peso <- sort(personas$peso)
posicion <- ceiling(n /2)
orden.personas.peso
##   [1]  40  41  41  42  42  43  43  44  47  49  49  49  50  50  52  52  52  52
##  [19]  53  53  56  56  56  56  57  58  59  59  60  60  62  62  63  63  63  64
##  [37]  64  65  66  66  67  67  68  68  68  69  70  71  71  74  74  75  75  76
##  [55]  76  77  78  78  78  78  79  80  80  80  83  84  84  85  86  86  87  87
##  [73]  87  88  89  90  90  90  91  91  92  92  93  93  94  94  95  95  97  97
##  [91]  98  98  98  99  99  99  99  99 100 100
La posicion de la mediana
cat("Valor de la posición ",posicion, " del conjunto de datos (Vector) edades es: ", orden.personas.peso[posicion]) 
## Valor de la posición  50  del conjunto de datos (Vector) edades es:  74
La posicion de la mediana cuando es inpar
cat("Valor de la posición ",posicion + 1, " del conjunto de datos (Vector) edades es: ", orden.personas.peso[posicion + 1])  
## Valor de la posición  51  del conjunto de datos (Vector) edades es:  74
Segunda comprobacion
mediana.peso <- sum(orden.personas.peso[posicion], orden.personas.peso[posicion + 1]) / 2
mediana.peso
## [1] 74

5. La moda

frecuencia <- table(personas$edad)
frecuencia <- sort(frecuencia, decreasing = TRUE)
frecuencia
## 
## 15 27 38 62 16 18 20 28 30 32 39 43 45 56 57 58 59 61 64 17 19 21 22 24 31 35 
##  4  4  4  4  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  2  2  2  2  2  2  2 
## 36 37 40 42 47 48 52 54 26 29 33 34 46 49 50 55 63 
##  2  2  2  2  2  2  2  2  1  1  1  1  1  1  1  1  1
moda <- frecuencia[1]
moda
## 15 
##  4
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es:  15  con  4
Moda de peso
frecuencia <- table(personas$peso)
frecuencia <- sort(frecuencia, decreasing = TRUE)
frecuencia
## 
##  99  52  56  78  49  63  68  80  87  90  98  41  42  43  50  53  59  60  62  64 
##   5   4   4   4   3   3   3   3   3   3   3   2   2   2   2   2   2   2   2   2 
##  66  67  71  74  75  76  84  86  91  92  93  94  95  97 100  40  44  47  57  58 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   1   1   1   1   1 
##  65  69  70  77  79  83  85  88  89 
##   1   1   1   1   1   1   1   1   1
moda <- frecuencia[1]
moda
## 99 
##  5
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es:  99  con  5
  • Moda de estatura
frecuencia <- table(personas$estatura)
frecuencia <- sort(frecuencia, decreasing = TRUE)
frecuencia
## 
## 1.59 1.66 1.83  1.9  1.4 1.41 1.43  1.5 1.51 1.65 1.67  1.7 1.77 1.81 1.84 1.93 
##    4    4    4    4    3    3    3    3    3    3    3    3    3    3    3    3 
## 1.42 1.46 1.52 1.62 1.64 1.73  1.8 1.86 1.92 1.95 1.96 1.98 1.45 1.49 1.53 1.55 
##    2    2    2    2    2    2    2    2    2    2    2    2    1    1    1    1 
## 1.58  1.6 1.61 1.63 1.68 1.69 1.71 1.72 1.75 1.78 1.82 1.87 1.88 1.89 1.91 1.97 
##    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1 
##    2 2.01 2.03 2.04 
##    1    1    1    1
moda <- frecuencia[1]
moda
## 1.59 
##    4
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es:  1.59  con  4

6. Visualizar datos

Edades
  • Gráfica de barra de edad
ggplot(data = personas, aes(x = edad)) +
  geom_bar()

  • Histograma de edad
ggplot(data = personas, aes(x = edad)) +
  geom_histogram(bins = 30)

  • Histograma de edad con medidas de localización
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")

  • Grafico mas completo
ggplot(aes(x = edad), data = personas) +
 geom_histogram(color = 'green',
                fill = 'green',
                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`.

Peso
  • Gráfica de barra de peso
ggplot(data = personas, aes(x = peso)) +
  geom_bar()

  • Histograma de peso
ggplot(data = personas, aes(x = peso)) +
  geom_histogram(bins = 30)

  • Histograma de peso con medidas de localización
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")

  • Grafico mas completo
ggplot(aes(x = peso), data = personas) +
 geom_histogram(color = 'green',
                fill = 'green',
                alpha = 0.2) +
 labs(title = "Histograma de 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[1],
         color = "moda"),
     linetype = "dashed",
     size = 1
   )
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Estatura
  • Gráfica de barra de estatura
ggplot(data = personas, aes(x = estatura)) +
  geom_bar()

  • Histograma de estatura
ggplot(data = personas, aes(x = estatura)) +
  geom_histogram(bins = 30)

  • Histograma de estatura con medidas de localización
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")

  • Grafico mas completo
ggplot(aes(x = estatura), data = personas) +
 geom_histogram(color = 'green',
                fill = 'green',
                alpha = 0.2) +
 labs(title = "Histograma de Edad") +
  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.-Interpretacion de los datos.

La moda de un conjunto de datos es el que mas se repite, la mediana es el promedio y la media es el dato que esta en medio de todos los datos ordenándolos de menor a mayor, Estos datos nos dan una base para interpretar mejor los datos por ejemplo, en una población que se compone de las calificaciones de 100 alumnos, podemos saber cual es la calificación que mas se repite o cual es el promedio de las calificaciones de todos los alumnos o saber cuantos alumnos están por debajo o por encima del promedio. La mediana y la media en varias ocasiones pueden ser similares pero la moda no siempre es así pues no sabemos cual dato es el que se puede repetir mas.