2.2 Tablas de frecuencias

Para darnos cuenta mejor de las estructuras que estamos analizando podemos construir una tabla de frecuencias, que en este caso es un resumen de cuántos alumnos sacaron cuál nota de las posibles (sobre veinte).

Tabla 2.1: Frecuencia de notas por grupo
Nota Grupo A Grupo B
1 1 2
2 2 3
3 2 5
4 3 4
5 4 3
6 6 2
7 3 2
8 4 1
9 3 1
10 2
11 1
12 1
13 2
14 2
15 1

Ahora podemos hacer algunas observaciones adicionales. Se nota que el rango (distancia entre el menor y el mayor valor del conjunto) es más amplio en el grupo B que en el grupo A. Posiblemente también nos damos cuenta que el valor más frecuente del grupo A (15) es superior al más frecuente del grupo B (12).

Ejemplo en R

Si bien es posible hacer una tabla de frecuencias a mano, simplemente contando las observaciones en cada categoría y anotando el resultado en orden, también tenemos funciones en R para el propósito.

table(
  c(15, 12, 11, 18, 15, 15, 9, 19, 14, 13, 11, 12, 18, 15, 16, 14, 16, 17, 15, 17, 13, 14, 13, 15, 17, 19, 17, 18, 16, 14)
)
## 
##  9 11 12 13 14 15 16 17 18 19 
##  1  2  2  3  4  6  3  4  3  2

En este ejemplo estamos usando dos funciones, una dentro de otra. La función c, le pide a R que arme un cconjunto de datos, y los datos que queremos usar van entre paréntesis y separados por coma. Esto, a su vez, lo estamos haciendo dentro de la función table que genera una tabla de frecuencias.

También es posible darle un nombre a los datos a usar o «asignarlos a una variable», lo cual puede ser útil cuando se quiere reutilizar. Esto se hace de la siguiente manera:

x <- c(15, 12, 11, 18, 15, 15, 9, 19, 14, 13, 11, 12, 18, 15, 16, 14, 16, 17, 15, 17, 13, 14, 13, 15, 17, 19, 17, 18, 16, 14)

Con esto podemos usar x como alias para los datos que le asignamos. Entonces:

table(x)
## x
##  9 11 12 13 14 15 16 17 18 19 
##  1  2  2  3  4  6  3  4  3  2

nos da el mismo resultado.

Por lo general se recomienda usar nombres de variables que tengan algún sentido, en lugar de usar genéricos como x, y, z o a, b, c. En R las variables pueden tener múltiples caracteres (pero no espacios), por lo que podríamos ingresar:

grupo.A <- c(15, 12, 11, 18, 15, 15, 9, 19, 14, 13, 11, 12, 18, 15, 16, 14, 16, 17, 15, 17, 13, 14, 13, 15, 17, 19, 17, 18, 16, 14)

y nos daría el resultado deseado:

table(grupo.A)
## grupo.A
##  9 11 12 13 14 15 16 17 18 19 
##  1  2  2  3  4  6  3  4  3  2