Objetivo

Realizar calculos para determinar medidas de localizacion y tendencia contral 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.

1.Cargar librerias o paquetes

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

2.Construccion de los datos

set.seed(2000)
n <- 100
edades <- sample(15:60, n, replace = TRUE)
peso <- sample(40:100, n, replace = TRUE)
estatura <- sample(140:205, n, replace = TRUE) / 100

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

3.Media de las variables edad, peso, estatura

media.edad <- sum(personas$Edad) / n 
media.edad
## [1] 38.23
media.peso <- sum(personas$Peso) / n
media.peso
## [1] 68.13
media.estatura <- sum(personas$Estatura) / n
media.estatura
## [1] 1.7486

4.Mediana de las variables edad, peso, estatura

mediana.edad <- median(personas$Edad)
mediana.edad
## [1] 39
orden.personas.edad <- sort(personas$Edad)
posicion <- ceiling(n /2)

orden.personas.edad
##   [1] 15 15 15 16 16 17 17 17 19 19 19 20 21 21 21 21 23 24 25 25 26 27 28 28 29
##  [26] 29 29 29 29 29 30 31 31 31 32 32 32 32 33 34 35 35 36 36 36 36 37 37 38 39
##  [51] 39 39 40 40 41 41 42 43 44 44 44 44 45 46 46 46 46 47 47 48 48 49 50 50 50
##  [76] 51 51 51 51 52 52 52 52 52 52 53 53 54 54 55 55 55 56 56 56 57 57 57 58 60
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:  39
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:  39
mediana.edad=sum(orden.personas.edad[posicion], orden.personas.edad[posicion+1])/2
media.edad
## [1] 38.23
mediana.peso <- median(personas$Peso)
mediana.peso
## [1] 67
orden.persona.peso <- sort(personas$Peso)
posicion <- ceiling(n/2)

orden.persona.peso
##   [1]  40  41  41  42  42  42  43  43  43  43  43  43  44  44  45  45  45  46
##  [19]  47  47  48  49  49  50  50  51  52  54  55  56  57  57  59  60  60  60
##  [37]  62  63  64  64  65  65  65  65  66  66  66  66  67  67  67  69  71  71
##  [55]  72  72  72  73  74  74  75  76  76  76  76  77  78  78  78  79  79  79
##  [73]  80  80  81  84  84  85  86  86  86  89  90  90  90  90  90  90  91  91
##  [91]  92  93  93  94  94  95 100 100 100 100
mediana.estatura <- median(personas$Estatura)
mediana.estatura
## [1] 1.75
orden.personas.estatura <- sort(personas$Estatura)
posicion <- ceiling(n /2)

orden.personas.estatura
##   [1] 1.41 1.42 1.44 1.45 1.46 1.46 1.47 1.48 1.49 1.49 1.50 1.50 1.51 1.52 1.52
##  [16] 1.52 1.53 1.53 1.55 1.56 1.56 1.56 1.57 1.58 1.58 1.60 1.60 1.61 1.62 1.62
##  [31] 1.63 1.63 1.64 1.65 1.65 1.65 1.66 1.66 1.66 1.68 1.70 1.71 1.71 1.71 1.71
##  [46] 1.72 1.72 1.72 1.74 1.75 1.75 1.77 1.77 1.78 1.79 1.80 1.80 1.81 1.82 1.82
##  [61] 1.83 1.83 1.84 1.84 1.86 1.86 1.87 1.87 1.88 1.88 1.88 1.89 1.89 1.90 1.90
##  [76] 1.91 1.92 1.92 1.92 1.93 1.93 1.94 1.95 1.95 1.96 1.97 1.98 1.98 1.99 1.99
##  [91] 1.99 2.01 2.01 2.02 2.03 2.04 2.04 2.04 2.05 2.05
cat("Valor de la posición ",posicion, "del conjunto de datos(Vector) estatura es: ", orden.personas.estatura[posicion])
## Valor de la posición  50 del conjunto de datos(Vector) estatura es:  1.75
cat("Valor de la posición ",posicion + 1,"del conjunto de datos (Vector) estatura es: ", orden.personas.estatura[posicion+1])
## Valor de la posición  51 del conjunto de datos (Vector) estatura es:  1.75
mediana.estatura=sum(orden.personas.estatura[posicion], orden.personas.estatura[posicion+1])/2
media.estatura
## [1] 1.7486

5.Moda de las varibales edad, peso, estatura

frecuencia <- table(personas$Edad)
frecuencia <- sort(frecuencia, decreasing = TRUE)
frecuencia
## 
## 29 52 21 32 36 44 46 51 15 17 19 31 39 50 55 56 57 16 25 28 35 37 40 41 47 48 
##  6  6  4  4  4  4  4  4  3  3  3  3  3  3  3  3  3  2  2  2  2  2  2  2  2  2 
## 53 54 20 23 24 26 27 30 33 34 38 42 43 45 49 58 60 
##  2  2  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
moda= frecuencia[1]
moda
## 29 
##  6
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es:  29  con  6
frecuencia <- table(personas$Peso)
frecuencia <- sort(frecuencia, decreasing = TRUE)
frecuencia
## 
##  43  90  65  66  76 100  42  45  60  67  72  78  79  86  41  44  47  49  50  57 
##   6   6   4   4   4   4   3   3   3   3   3   3   3   3   2   2   2   2   2   2 
##  64  71  74  80  84  91  93  94  40  46  48  51  52  54  55  56  59  62  63  69 
##   2   2   2   2   2   2   2   2   1   1   1   1   1   1   1   1   1   1   1   1 
##  73  75  77  81  85  89  92  95 
##   1   1   1   1   1   1   1   1
moda= frecuencia[1]
moda
## 43 
##  6
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es:  43  con  6
frecuencia <- table(personas$Estatura)
frecuencia <- sort(frecuencia, descreasing = TRUE)
frecuencia
## 
## 1.41 1.42 1.44 1.45 1.47 1.48 1.51 1.55 1.57 1.61 1.64 1.68  1.7 1.74 1.78 1.79 
##    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1 
## 1.81 1.91 1.94 1.96 1.97 2.02 2.03 1.46 1.49  1.5 1.53 1.58  1.6 1.62 1.63 1.75 
##    1    1    1    1    1    1    1    2    2    2    2    2    2    2    2    2 
## 1.77  1.8 1.82 1.83 1.84 1.86 1.87 1.89  1.9 1.93 1.95 1.98 2.01 2.05 1.52 1.56 
##    2    2    2    2    2    2    2    2    2    2    2    2    2    2    3    3 
## 1.65 1.66 1.72 1.88 1.92 1.99 2.04 1.71 
##    3    3    3    3    3    3    3    4
moda= frecuencia[1]
moda
## 1.41 
##    1
cat("La moda de edad es: ", names(moda), " con ", frecuencia[1])
## La moda de edad es:  1.41  con  1

6.Visualizar datos

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

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

*Grafica de barra estatura

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

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

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

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

*Histograma de edad con medidas de localizacion

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

*Histograma de peso con medidas de localizacion

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")

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")

ggplot(aes(x = edades), data = personas) + geom_histogram(color = “green”, fill = “green”, alpha = 0.2) + labs(title = “Histograma de Edades”) + geom_vline(aes(xintercept = median(edades), color = “mediana”), linetype = “dashed”, size = 1) + geom_vline(aes(xintercept = mean(edades), color = “media”), linetype = " deshed“, size = 1) + geom_vline(aes(xintercept = moda [1], color =”moda“), linetype =”dashed", size = 1)

7. Interpretar y comunicar datos

*En este caso podemos darnos cuenta el cómo sacar la media, la mediana y la moda

*Podemos tambien sacar directamente las posiciones de cada uno con otras lineas de codigo las cuales nos pueden ahorrar un poco mas de lectura o vista al momento en que nas da directo el numero