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!
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!
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.