Bóson Treinamentos em Ciência e Tecnologia

Como criar matrizes em R

Como criar uma matriz em R usando funções matrix, rbind e cbind

Como criar matrizes em R

Na lição anterior definimos o que é uma matriz em R, quais suas aplicações e como endereçar seus elementos. Agora iremos mostrar como é possível criar matrizes utilizando três funções bastante comuns em linguagem R: matrix(), rbind() e cbind().

Função matrix()

Toma um vetor e o transforma em matriz, dividindo os dados presentes no vetor em várias linhas da matriz.

Sintaxe:

matrix(data = NA, nrow = x, ncol = y, byrow = TRUE | T | F | FALSE)

Onde:

Função rbind()

Conecta vetores formando linhas de uma matriz com cada vetor (r = row)

Sintaxe:

rbind(vetor1, vetor2, ..., vetorN)

Função cbind()

Conecta vetores formando colunas de uma matriz com cada vetor (c = column)

Sintaxe:

cbind(vetor1, vetor2, ..., vetorN)

Exemplos

1 – Criar um vetor com a função matrix()

Iniciamos criando um vetor com, digamos, 20 posições preenchidas com números:

> vetor <- 1:20

Agora vamos transformar esse vetor em uma matriz A 4×5 (quatro linhas por cinco colunas) da seguinte forma:

> A <- matrix(vetor, 4, 5)

E então verificamos o conteúdo da matriz criada:

> A

Note os índices indicados para as linhas e colunas da matriz criada.

É importante que o produto do número de linhas pelo número de colunas seja igual ao número total de itens do vetor, para que a matriz possa ser corretamente criada e preenchida. Em nosso caso, 4 linhas x 5 colunas = 20 itens, que é o tamanho do vetor.

E como acessamos o valor armazenado em uma posição da matriz? É simples: basta usar o nome da matriz, seguida de colchetes contendo o número da linha e da coluna separados por vírgulas, nessa ordem. Por exemplo, vamos acessar o elemento que está na linha 3, coluna 4 (número 15):

> A[3,4]
[1] 15

2 – Vamos agora criar uma matriz usando a função rbind()

Começamos criando, por exemplo, três vetores de caracteres, como segue:

> v1 <- c("SP","RJ","MG")
> v2 <- c("RN","MT","AM")
> v3 <- c("PE","RS","SC")

E então criamos uma matriz B unindo os três vetores criados coma função rbind():

> B <- rbind(v1, v2, v3)

E então verificamos o conteúdo da matriz:

> B

Note que são mostrados os nomes dos vetores v1, v2 e v3 nas linhas do vetor criado. Porém, para acessar uma de suas posições, basta referenciá-las normalmente pelos números de linha e coluna, como por exemplo:

> B[3,3]
     v3
[1] "SC"

Também podemos acessar o elemento fornecendo o nome do vetor que originou a linha, em vez do número da linha em si:

> B["v3",3]
      v3
[1] "SC"

3 – E por fim vamos criar uma matriz usando a função cbind().

Primeiramente vamos criar três vetores numéricos, com 6 elementos em cada, como segue:

> n1 <- 1:6
> n2 <- 12:17
> n3 <- 24:29

E então criamos a matriz C unindo os três vetores criados com a função cbind():

> C <- cbind(n1, n2, n3)

Finalmente, verificamos o conteúdo da matriz:

C

Note que os elementos são arranjados em colunas, em vez de linhas, como ocorreu com a função rbind(). E perceba também que, em vez de serem mostrados os números de índice das colunas, são mostrados os nomes dos vetores empregados. Porém, o processo de acesso aos elementos da matriz é o mesmo: basta indicar entre os colchetes os números da linha e da coluna desejados:

C[4,3]
n3
[1] 27

Ou ainda usar o nome da coluna:

C[4,"n3"]
n3
27

É isso aí! Na próxima lição vamos nos aprofundar na manipulação dos elementos de uma matriz, incluindo a atribuição, leitura e alteração dos elementos.

 

Sair da versão mobile