2.1 Inspección de una tabla

Nuestra primera tarea consistirá en inspeccionar los contenidos de una tabla. Esta es, de hecho, la primera tarea que uno realiza en la práctica cuando recibe un conjunto nuevo de datos: averiguar cuántas filas y columnas tiene, de qué tipo (numérico o no) son sus columnas, etc.

Para practicar y como ejemplo, usaremos una tabla que viene de serie con R, iris3. Tiene 150 filas que corresponden a otras tantas iris ([una especie de flor] (http://es.wikipedia.org/wiki/Iris_%28planta%29)) y sus columnas contienen cuatro características métricas de cada ejemplar: la longitud y la anchura de sus pétalos y sépalos; y la subespecie: setosa, versicolor o virgínica, a la que pertenece. De momento y hasta que aprendamos cómo importar datos de fuentes externas, utilizaremos este y otros conjuntos de datos de ejemplo que incluye R.

Para inspeccionar una tabla utilizaremos una serie de funciones básicas que se usan muy frecuentemente en R.

Escribir en la consola de R4

iris

es lo mismo que ejecutar

print(iris)

y muestra la tabla en la consola. Cosa que no es particularmente útil si la tabla tiene muchas filas.

Este comportamiento no es exclusivo de las tablas. Aplica también a otros tipos de datos que veremos más adelante: ejecutar el nombre de un objeto imprime (muestra) directamente en la consola una representación textual del mismo.

Otras funciones útiles para inspeccionar tablas (y, como veremos más adelante, no solo tablas) son

plot(iris)       # la representa gráficamente
summary(iris)    # resumen estadístico de las columnas
str(iris)        # "representación textual" del objeto

Trata de interpretar el gráfico generado con plot(iris). ¿Qué nos dice, p.e., de la relación entre la anchura y la longitud de los pétalos?

Trata de intepretar la salida del resto de las anteriores líneas de código. ¿Qué nos dicen del conjunto de datos?

Es impráctico mostrar tablas enteras en la consola, sobre todo cuando son grandes. Para mostrar solo parte de ellas,

head(iris)    # primeras seis filas
tail(iris)    # últimas seis filas

En R, la ayuda de una función (summary en el ejemplo siguiente), se consulta así5:

?summary

Si usas RStudio, el texto de la ayuda correspondiente a esa función aparecerá en la pestaña correspondiente del panel inferior derecho.

Consulta la ayuda de la función head y averigua cómo mostrar las diez primeras filas de iris en lugar de las seis que aparecen por defecto.

La ayuda de una función en R siempre tiene la misma estructura:

  • una breve descripción de la función,
  • una descripción de los argumentos que admite,
  • una sección que detalla el funcionamiento de la función y de los distintos argumentos y
  • una sección final de ejemplos.

Habitualmente, los ejemplos suelen más instructivos que el resto: con un poco de suerte, el autor de la página de ayuda ha incluido uno que, con pequeños cambios, te puede servir.

Además de lo anterior, para inspeccionar una tabla es fundamental conocer su tamaño

dim(iris)     # filas x columnas
## [1] 150   5
nrow(iris)    # número de filas
## [1] 150
ncol(iris)    # número de columnas
## [1] 5

y el nombre de sus columnas

colnames(iris)  
## [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width" 
## [5] "Species"

Consulta el tamaño, número de filas y el número y nombre de las columnas del conjunto de datos airquality; muestra también las primeras 13 filas de esa tabla.

Examina el conjunto de datos attenu. Consulta su ayuda (?attenu) para averiguar qué tipo de información contiene. Finalmente, usa summary para ver si contiene algún nulo en alguna columna.

Haz una lista con todas las funciones que aparecen nombradas en esta sección y trata de recordar lo que hace cada una de ellas.


  1. Este conjunto de datos tiene una larga historia (fue publicado originalmente en 1935) y se ha venido utilizando para ilustrar el uso de ciertos modelos estadísticos de clasificación.

  2. O, si la línea aparece en un programa, colocando el cursor en cualquier punto de ella y pulsando Control-Enter.

  3. También se puede escribir help(summary), pero es más largo y nadie lo hace.