-
Notifications
You must be signed in to change notification settings - Fork 29
/
01_Med_Cen.Rmd
128 lines (78 loc) · 4.94 KB
/
01_Med_Cen.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Medidas de tendencia central
En este capítulo se mostrará cómo obtener las diferentes medidas de tendencia central con R.
Para ilustrar el uso de las funciones se utilizará una base de datos llamada __medidas del cuerpo__, esta base de datos cuenta con 6 variables registradas a un grupo de 36 estudiantes de la universidad. Las variables son:
1. `edad` del estudiante (años),
2. `peso` del estudiante (kilogramos),
3. `altura` del estudiante (centímetros),
4. `sexo` del estudiante (Hombre, Mujer),
5. `muneca`: perímetro de la muñeca derecha (centímetros),
6. `biceps`: perímetro del biceps derecho (centímetros).
A continuación se presenta el código para definir la url donde están los datos, para cargar la base de datos en R y para mostrar por pantalla un encabezado (usando `head`) de la base de datos.
```{r}
url <- 'https://raw.githubusercontent.com/fhernanb/datos/master/medidas_cuerpo'
datos <- read.table(file=url, header=T)
head(datos) # Para ver el encabezado de la base de datos
```
## Media
Para calcular la media de una variable cuantitativa se usa la función `mean`. Los argumentos básicos de la función `mean` son dos y se muestran a continuación.
```{r, eval=F}
mean(x, na.rm)
```
### Ejemplo
Suponga que queremos obtener la altura media del grupo de estudiantes.
Para encontrar la media general se usa la función `mean` sobre el vector númerico `datos$altura`.
```{r}
mean(x=datos$altura)
```
Del anterior resultado podemos decir que la estatura media o promedio de los estudiantes es `r mean(datos$altura)` centímetros.
### Ejemplo
Suponga que ahora queremos la altura media pero diferenciando por sexo.
Para hacer esto se debe primero dividir o partir el vector de altura según los niveles de la variable sexo, esto se consigue por medio de la función `split` y el resultado será una lista con tantos elementos como niveles tenga la variable sexo. Luego a cada uno de los elementos de la lista se le aplica la función `mean` con la ayuda de `sapply` o `tapply`. A continuación el código completo para obtener las alturas medias para hombres y mujeres.
```{r}
sapply(split(x=datos$altura, f=datos$sexo), mean)
```
El resultado es un vector con dos elementos, vemos que la altura media para hombres es `r mean(datos$altura[datos$sexo=='Hombre'])` centímetros y que para las mujeres es de `r mean(datos$altura[datos$sexo=='Mujer'])` centímetros.
¿Qué sucede si se usa `tapply` en lugar de `sapply`? Substituya en el código anterior la función `sapply` por `tapply` y observe la diferencia entre los resultados.
### Ejemplo
Suponga que se tiene el vector `edad` con las edades de siete personas y supóngase que para el individuo cinco no se tiene información de su edad, eso significa que el vector tendrá un `NA` en la quinta posición.
¿Cuál será la edad promedio del grupo de personas?
```{r}
edad <- c(18, 23, 26, 32, NA, 32, 29)
mean(x=edad)
```
Al correr el código anterior se obtiene un error y es debido al símbolo `NA` en la quinta posición. Para calcular la media sólo con los datos de los cuales se tiene información, se incluye el argumento `na.rm = TRUE` para que R remueva los `NA`. El código correcto a usar en este caso es:
```{r}
mean(x=edad, na.rm=TRUE)
```
De este último resultado se obtiene que la edad promedio de los individuos es 26.67 años.
## Mediana
Para calcular la mediana de una variable cantitativa se usa la función `median`. Los argumentos básicos de la función `median` son dos y se muestran a continuación.
```{r, eval=F}
median(x, na.rm)
```
### Ejemplo
Calcular la edad mediana para los estudiantes de la base de datos.
Para obtener la mediana usamos el siguiente código:
```{r}
median(x=datos$edad)
```
y obtenemos que la mitad de los estudiantes tienen edades mayores o iguales a `r median(x=datos$edad)` años.
El resultado anterior se pudo haber obtenido con la función `quantile` e indicando que se desea el cuantil 50 así:
```{r}
quantile(x=datos$edad, probs=0.5)
```
## Moda
La moda de una variable cuantitativa corresponde a valor o valores que más se repiten, una forma sencilla de encontrar la moda es construir una tabla de frecuencias y observar los valores con mayor frecuencia.
### Ejemplo
Calcular la moda para la variable edad de la base de datos de estudiantes.
Se construye la tabla con la función `table` y se crea el objeto `tabla` para almacenarla.
```{r}
tabla <- table(datos$edad)
tabla
```
Al mirar con detalle la tabla anterior se observa que el valor que más se repite es la edad de 25 años en 5 ocasiones. Si la tabla hubiese sido mayor, la inspección visual nos podría tomar unos segundos o hasta minutos y podríamos equivocarnos, por esa razón es mejor ordenar los resultados de la tabla.
Para observar los valores con mayor frecuencia de la tabla se puede ordenar la tabla usando la función `sort` de la siguiente manera:
```{r}
sort(tabla, decreasing=TRUE)
```
De esta manera se ve fácilmente que la variable edad es unimodal con valor de 25 años.