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!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.