A.8 Operações adicionais com matrizes

Há outras formas de se construir uma matriz além daquela usando a função matrix(). Há também diveras operações matriciais que podem ser realizadas no . Aqui apresentam-se esse conteúdo complementar sobre matrizes.

A.8.1 Função dim()

Podemos converter um vetor atômico em uma arranjo de n dimensões através do atributo da dimensão de um objeto. Este atributo pode ser alterado pela função dim(). Para fazer isso, definimos o atributo dim (de dimensão) com um vetor numérico com os tamanhos para cada dimensão. O R reorganizará os elementos do vetor de acordo com as dimensões.

v <- vetor <- 1:12
length(v)
attributes(v)
typeof(v)
# conversão de vetor para matriz
dim(v) <- c(3, 4) # 1a dimensão: linhas , 2a dimensão: colunas
# v é vector?
is.vector(v)
# v é matrix?
is.matrix(v)
# classe de vetor
class(v)
attributes(v)
v
# invertendo as dimensões
dim(v) <- c(4, 3)
v

O R usa o primeiro elemento de dim() para o número de linhas e o segundo para o número de colunas. De forma geral, em operações que usam linhas e colunas, as linhas vem sempre em primeiro lugar.

Note como os valores de v foram distribuídos na matriz com 3 linhas e 4 colunas. O R sempre preenche a matriz ao longo das colunas.

Para mais controle na forma como R reorganiza os dados em linhas e colunas, podemos utilizar a função matrix() ou array(). Elas fazem a mesma coisa que a dim() porém com argumentos mais versáteis para estruturar uma matrix.