A.1 Criação de matrizes
A.1.1 Função matrix()
Uma forma mais clara de se criar uma matriz é usando a função matrix()
.
Ao aplicarmos a função matrix()
a um vetor sem especificar nenhum argumento ela produz uma matriz de uma coluna.
vetor <- c(0, 1, -1, -2, 3, 5, -5)
# atribuindo novas dimensões ao vetor
m <- matrix(vetor) # matriz de uma coluna
m
#> [,1]
#> [1,] 0
#> [2,] 1
#> [3,] -1
#> [4,] -2
#> [5,] 3
#> [6,] 5
#> [7,] -5
Se desejamos construir uma matriz com 3 linhas e 4 colunas a partir do vetor vetor
podemos fazer da seguinte forma:
# criando a matriz gerada com dim
mat <- matrix(vetor, nrow = 3, ncol = 4)
#> Warning in matrix(vetor, nrow = 3, ncol = 4): data length [7] is not a sub-
#> multiple or multiple of the number of rows [3]
mat
#> [,1] [,2] [,3] [,4]
#> [1,] 0 -2 -5 -1
#> [2,] 1 3 0 -2
#> [3,] -1 5 1 3
# não há necessidade de especificar ambos ncol e nrow
mat <- matrix(vetor, nrow = 3)
#> Warning in matrix(vetor, nrow = 3): data length [7] is not a sub-multiple or
#> multiple of the number of rows [3]
mat
#> [,1] [,2] [,3]
#> [1,] 0 -2 -5
#> [2,] 1 3 0
#> [3,] -1 5 1
No exemplo a seguir os dados do vetor aparecem distribuídos ao longo das linhas e não das colunas como no caso acima. Nós definimos isso com o argumento byrow = TRUE
da função matrix()
:
mat <- matrix(vetor, ncol = 4, byrow = TRUE)
#> Warning in matrix(vetor, ncol = 4, byrow = TRUE): data length [7] is not a sub-
#> multiple or multiple of the number of rows [2]
mat
#> [,1] [,2] [,3] [,4]
#> [1,] 0 1 -1 -2
#> [2,] 3 5 -5 0