Como criar matrizes em R
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:
- data é a fonte dos dados (por exemplo, um vetor)
- nrow é o número de linhas desejadas
- ncol é o número de colunas desejadas
- byrow indica se a matriz será preenchida por linhas ou colunas. O padrão é F ou FALSE (por colunas).
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.
Escreva um comentário