1
resposta

[Dúvida] Matriz dúvida da Camila

Olá, gostaria de saber porque o código matriz <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3) sai como uma tabela do tipo

1 3 5 2 4 6

e não como

1 2 3 4 5 6

E como faríamos para sair desse jeito que perguntei logo acima?

Obrigado!

1 resposta

No R, a função matrix() preenche os valores por coluna, e não por linha. Isso significa que, ao criar uma matriz com

matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3)

os valores são preenchidos assim:

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

O que acontece é que os valores do vetor são dispostos verticalmente primeiro, preenchendo as colunas antes das linhas.

Se quiser preencher por linha, você pode usar o argumento byrow = TRUE:

matriz <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3, byrow = TRUE)

Isso fará com que os valores sejam organizados da forma esperada:

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6

Ou seja, agora os valores são inseridos linha por linha, em vez de coluna por coluna.