2.6 Matrices y arreglos
Las matrices y los arreglos son vectores con atributos adicionales llamados dimensiones. Las matrices tienen dos dimensiones, formando una estructura rectangular con renglones y columnas. A su vez, los arreglos tienen más de dos dimensiones.
Al igual que los vectores, las matrices y los arreglos son estructuras de datos homogéneas.
Es decir, solo pueden estar formadas por un tipo de datos. Comúnmente se construyen utilizando
la función matrix()
, especificando el número de renglones y columnas.
<- matrix(1:15, nrow = 3, ncol = 5)
mim <- matrix(1:15, nrow = 5, ncol = 3) mim2
Los elementos se asignan de arriba a abajo y de izquierda a derecha. Y se pueden asignar nombres tanto a los renglones como a las columnas.
colnames(mim) <- c("c1", "c2", "c3", "c4", "c5")
rownames(mim) <- c("r1", "r2", "r3")
mim
## c1 c2 c3 c4 c5
## r1 1 4 7 10 13
## r2 2 5 8 11 14
## r3 3 6 9 12 15
Para conocer las dimensiones de la matriz utilizamos la función dim()
o podemos preguntar
directamente por su número de filas o de columnas.
dim(mim)
# [1] 3 5
nrow(mim)
# [1] 3
ncol(mim)
# [1] 5
En las matrices también podemos observar las operaciones vectorizadas. Además, hay algunas funciones especialmente desarrolladas para trabajar con matrices.
* 3 # Operación vectorizada mim
## c1 c2 c3 c4 c5
## r1 3 12 21 30 39
## r2 6 15 24 33 42
## r3 9 18 27 36 45
rowSums(mim) # Suma de las filas de una matriz
## r1 r2 r3
## 35 40 45
colSums(mim) # Suma de las columnas de una matriz
## c1 c2 c3 c4 c5
## 6 15 24 33 42
t(mim2) + mim # Transposición
## c1 c2 c3 c4 c5
## r1 2 6 10 14 18
## r2 8 12 16 20 24
## r3 14 18 22 26 30
Para construir arreglos se utiliza la función array()
, especificando las dimensiones
que lo conforman.
<- array(1:16, dim = c(2, 4, 2))
mia mia
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 3 5 7
## [2,] 2 4 6 8
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 9 11 13 15
## [2,] 10 12 14 16