Nombres de filas y columnas en matrices de R

Nombres de filas y columnas en matrices de R

Uno de los muchos elementos que existen en R son las matrices, un tipo de datos en R del que hemos hablado ya con alguna extensión anteriormente. Las matrices son básicamente estructuras de datos de un solo tipo (por ejemplo, números) organizadas en filas y columnas. En esta ocasión os voy a hablar de cómo podemos poner los nombres de filas y columnas en matrices de R.

Con este fin, vamos a ver en detalle cómo emplear las funciones rownames() y colnames() para nombrar a las filas y las columnas de una matriz, respectivamente.

colnames() y rownames()

Si tenemos una matriz de 4 filas y 3 columnas, podemos asignar a cada fila y columna un nombre. Para ello, empleamos las funciones rownames() y colnames() respectivamente.

x <- matrix(nrow = 4, ncol = 3)      # Creamos la matriz de 4x3
rownames(x) <- c("A", "B", "C", "D") # Damos los nombres de las filas
colnames(x) <- c("a", "b", "c")      # Damos los nombres de las columnas
print(x)                             # Vemos la matriz creada
##    a  b  c
## A NA NA NA
## B NA NA NA
## C NA NA NA
## D NA NA NA

Añadir nombres de filas y columnas con prefijos

Si tenemos una matriz de 6 columnas y 15 filas, podemos nombrarlas automáticamente con ciertos prefijos con la función paste(). Pongamos por ejemplo que queremos que todas las columnas empiecen por Col. y que todas las filas comiencen por Fil., seguidas en cada caso por el número de la columna. En la función paste() indicamos primero el prefijo entre comillas, seguido del intervalo de números que queremos poner, adaptándolo al número de filas y columnas respectivamente.

y <- matrix(nrow = 15, ncol = 6)   # Creamos la matriz de 15x6
rownames(y) <- paste("Fil.", 1:15) # Damos los nombres de las filas
colnames(y) <- paste("Col.", 1:6)  # Damos los nombres de las columnas
print(y)                           # Vemos la matriz creada
##         Col. 1 Col. 2 Col. 3 Col. 4 Col. 5 Col. 6
## Fil. 1      NA     NA     NA     NA     NA     NA
## Fil. 2      NA     NA     NA     NA     NA     NA
## Fil. 3      NA     NA     NA     NA     NA     NA
## Fil. 4      NA     NA     NA     NA     NA     NA
## Fil. 5      NA     NA     NA     NA     NA     NA
## Fil. 6      NA     NA     NA     NA     NA     NA
## Fil. 7      NA     NA     NA     NA     NA     NA
## Fil. 8      NA     NA     NA     NA     NA     NA
## Fil. 9      NA     NA     NA     NA     NA     NA
## Fil. 10     NA     NA     NA     NA     NA     NA
## Fil. 11     NA     NA     NA     NA     NA     NA
## Fil. 12     NA     NA     NA     NA     NA     NA
## Fil. 13     NA     NA     NA     NA     NA     NA
## Fil. 14     NA     NA     NA     NA     NA     NA
## Fil. 15     NA     NA     NA     NA     NA     NA