Las funciones head y tail en R

Introducción a R Exploración de estructuras
Las funciones head y tail en R

Las funciones head y tail permiten obtener las primeras o la últimas partes/filas de vectores, matrices, tablas, data frames o funciones. Por defecto, sólo se devuelven los seis primeros o últimos elementos, pero también se puede especificar el número de elementos que quieras.

El uso básico del comando head en R es recuperar los primeros elementos de un vector o lista o las primeras filas de un data frame o matriz. Por defecto, la función devuelve los seis primeros elementos o filas, como se muestra en los ejemplos siguientes:

Si tienes un vector x la función head te devolverá sus seis primeros elementos.

x <- c(10, 12, 20, 25, 31, 17, 7, 3 ,19)

head(x)
10 12 20 25 31 17

Si tus datos son un data frame llamado df, la función head mostrará sus seis primeras filas.

df <- data.frame(x = 1:10, y = LETTERS[1:10])

head(df)
  x y
1 1 A
2 2 B
3 3 C
4 4 D
5 5 E
6 6 F

También puedes especificar el número de elementos a devolver por la función head haciendo uso del argumento n. En el siguiente ejemplo estamos devolviendo sólo los dos primeros elementos de la lista llamada l.

l <- list(a = 1, b = 2, c = 3)

head(l, n = 2)
$a
[1] 1

$b
[1] 2

Sin embargo, el argumento n también puede tomar números negativos para especificar cuántos elementos eliminar empezando por el final. Volviendo a nuestro primer ejemplo, si quieres ver todos los elementos excepto los dos últimos puedes hacerlo de la siguiente manera:

x <- c(10, 12, 20, 25, 31, 17, 7, 3, 19)

head(x, -2)
10 12 20 25 31 17  7

Filtrar filas y columnas

Si las dimensiones del objeto pasado a la función no son NULL también puedes especificar el número de primeras columnas a devolver pasando un vector con tantos números como dimensiones a n. Por ejemplo, si quieres ver las diez primeras filas y las dos primeras columnas de un data frame puedes escribir:

df2 <- data.frame(x = 1:26, y = letters, z = LETTERS)

head(df2, n = c(10, 2))
    x y
1   1 a
2   2 b
3   3 c
4   4 d
5   5 e
6   6 f
7   7 g
8   8 h
9   9 i
10 10 j

La función tail

El comando tail es muy similar pero opuesto a la función head, ya que devolverá los últimos elementos de un vector o lista o las últimas filas de un data frame o matriz.

Si aplicas la función tail a un vector recuperarás sus seis últimos elementos:

x <- c(10, 12, 20, 25, 31, 17, 7, 3 ,19)

tail(x)
25 31 17  7  3 19

Si utilizas la función con un data frame o una matriz, obtendrás, por defecto, sus seis últimas filas:

df <- data.frame(x = 1:10, y = LETTERS[1:10])

tail(df)
    x y
5   5 E
6   6 F
7   7 G
8   8 H
9   9 I
10 10 J

También puedes especificar el número deseado de últimos elementos a devolver con n. En el ejemplo siguiente obtenemos las dos últimas filas del data frame.

df <- data.frame(x = 1:10, y = LETTERS[1:10])

tail(df, n = 2)
    x y
9   9 I
10 10 J

Recuerda que también puedes especificar números negativos, que eliminarán las primeras n filas o elementos.

df <- data.frame(x = 1:10, y = LETTERS[1:10])

tail(df, n = -1)
    x y
2   2 B
3   3 C
4   4 D
5   5 E
6   6 F
7   7 G
8   8 H
9   9 I
10 10 J