Criando matrizes com matrix()
Crie matrizes especificando data, nrow, ncol e byrow.
Criando matrizes com matrix() é uma aula grátis de R Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de R Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de R Academy inclui 4 aulas no total.
O que é uma matriz em R?
Uma matriz em R é uma estrutura de dados bidimensional em que todos os elementos devem ser do mesmo tipo. Pense nela como uma tabela com linhas e colunas. As matrizes são essenciais para álgebra linear, processamento de imagens e cálculos estatísticos.
# A simple 2x3 matrix
m <- matrix(1:6, nrow = 2, ncol = 3)
cat('A 2x3 matrix:
')
print(m)
cat('Dimensions:', dim(m), '
') # rows colsmatrix(data, nrow, ncol)
A função matrix() recebe um vetor de dados e o organiza em linhas e colunas. Por padrão, R preenche a matriz coluna por coluna (ordem principal por colunas).
# Filled column by column (default)
m_col <- matrix(1:12, nrow = 3, ncol = 4)
cat('Column-filled 3x4 matrix:
')
print(m_col)
cat('Note: 1,2,3 fill the first COLUMN, not the first row
')byrow = TRUE para preenchimento por linhas
Definir byrow = TRUE preenche a matriz linha por linha. Isso costuma ser mais intuitivo quando você pensa nos dados em termos de linhas (como em uma planilha).
# Filled row by row
m_row <- matrix(1:12, nrow = 3, ncol = 4, byrow = TRUE)
cat('Row-filled 3x4 matrix:
')
print(m_row)
cat('Note: 1,2,3,4 fill the first ROW
')
# Verify byrow
m_check <- matrix(c(1,2,3,4,5,6), nrow = 2, byrow = TRUE)
print(m_check)Matriz a partir de um vetor de dados
Você pode criar uma matriz significativa passando um vetor de dados reais. R reutilizará o vetor se ele for menor que nrow * ncol, mas é uma boa prática fornecer exatamente a quantidade correta de elementos.
# Exam scores: 3 students, 4 subjects
scores_data <- c(88, 92, 75, 81, # Student 1
79, 85, 90, 73, # Student 2
95, 78, 82, 88) # Student 3
exam_matrix <- matrix(scores_data, nrow = 3, ncol = 4, byrow = TRUE)
rownames(exam_matrix) <- c('Alice', 'Bob', 'Carol')
colnames(exam_matrix) <- c('Math', 'Science', 'English', 'History')
print(exam_matrix)dim() — verificando dimensões
dim(m) retorna um vetor numérico de comprimento 2: primeiro, o número de linhas; depois, o número de colunas. Você também pode usar nrow(m) e ncol(m) para obter cada dimensão individualmente.
m <- matrix(1:20, nrow = 4, ncol = 5)
cat('dim(m):', dim(m), '
') # 4 5
cat('nrow(m):', nrow(m), '
') # 4
cat('ncol(m):', ncol(m), '
') # 5
cat('Total elements:', length(m), '
') # 20is.matrix() — verificando o tipo
is.matrix(x) retorna TRUE se x for uma matriz. Isso é útil para validar entradas de funções. Observe que uma matriz também é um vetor (is.array() também retorna TRUE).
m <- matrix(1:4, nrow = 2)
v <- c(1, 2, 3, 4)
cat('is.matrix(m):', is.matrix(m), '
') # TRUE
cat('is.matrix(v):', is.matrix(v), '
') # FALSE
cat('is.array(m): ', is.array(m), '
') # TRUE (matrix IS an array)
cat('class(m): ', class(m), '
')Matriz nula e matriz identidade
Você pode criar matrizes especiais reutilizando um único valor. matrix(0, n, n) cria uma matriz nula; diag(n) cria uma matriz identidade n x n (1s na diagonal e 0s nas demais posições).
# Zero matrix 3x3
zero_mat <- matrix(0, nrow = 3, ncol = 3)
cat('Zero matrix:
')
print(zero_mat)
# Identity matrix 3x3
identity_mat <- diag(3)
cat('Identity matrix:
')
print(identity_mat)Matriz a partir de valores reutilizados
Quando o vetor de dados é menor que nrow * ncol, R reutiliza o vetor (repete-o desde o início). R emite um aviso se o comprimento do vetor não dividir igualmente o tamanho da matriz.
# Recycle a 2-element vector into a 4x4 matrix
alternate <- matrix(c(0, 1), nrow = 4, ncol = 4)
cat('Recycled 0,1 into 4x4:
')
print(alternate)
# Checkerboard effect: fills column by columnFornecendo apenas nrow ou ncol
Você só precisa fornecer um entre nrow e ncol — R calcula o outro automaticamente com base no comprimento dos dados. Se os dados não forem divisíveis igualmente, R os reutilizará e emitirá um aviso.
# Only specify nrow, R infers ncol
m1 <- matrix(1:12, nrow = 3)
cat('nrow=3 only, inferred ncol =', ncol(m1), '
')
print(m1)
# Only specify ncol, R infers nrow
m2 <- matrix(1:12, ncol = 4)
cat('ncol=4 only, inferred nrow =', nrow(m2), '
')Matriz de caracteres
As matrizes não se limitam a números — você pode criar matrizes de caracteres para dados categóricos, tabuleiros de jogos ou grades de consulta. No entanto, todos os elementos ainda devem ser do mesmo tipo.
# Tic-tac-toe board
board <- matrix(c('X', 'O', 'X',
'O', 'X', 'O',
'O', 'X', 'O'),
nrow = 3, ncol = 3, byrow = TRUE)
cat('Tic-Tac-Toe board:
')
print(board)
cat('Type:', class(board), '
')Resumo: criando matrizes
Aqui está um resumo das formas de criar matrizes em R:
matrix(data, nrow, ncol)— criação básica (preenchimento por colunas por padrão)matrix(data, nrow, ncol, byrow=TRUE)— preenche linha por linhamatrix(0, n, m)— matriz nuladiag(n)— matriz identidadedim(m),nrow(m),ncol(m)— inspecionam as dimensõesis.matrix(m)— verifica o tipo
# Quick creation reference
cat('3x2 column-fill:
'); print(matrix(1:6, 3, 2))
cat('3x2 row-fill:
'); print(matrix(1:6, 3, 2, byrow=TRUE))
cat('2x2 zeros:
'); print(matrix(0, 2, 2))
cat('3x3 identity:
'); print(diag(3))Verificação rápida
Por padrão (sem byrow = TRUE), em que ordem matrix() preenche os elementos?
Recapitulação: criação de matrizes
Excelente! Principais aprendizados desta lição:
matrix(data, nrow, ncol)cria uma matriz — por padrão, os dados preenchem a matriz coluna por coluna- Use
byrow = TRUEpara preencher a matriz linha por linha - Você só precisa especificar
nrowOUncol— o R deduz o outro valor dim(m)retornac(rows, cols);nrow()encol()fornecem as contagens individuaisis.matrix()testa se um objeto é uma matrizmatrix(0, n, n)cria uma matriz de zeros;diag(n)cria uma matriz identidade
# Full workflow: create, inspect, verify
m <- matrix(seq(2, 24, by = 2), nrow = 4, ncol = 3, byrow = TRUE)
cat('Even numbers matrix:
')
print(m)
cat('Rows:', nrow(m), '| Cols:', ncol(m), '| Elements:', length(m), '
')Aprenda R com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 43
- Aulas
- 159
Perguntas Frequentes
A aula “Criando matrizes com matrix()” é grátis?
Sim — o texto completo de “Criando matrizes com matrix()” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de R Academy, atualize para CoddyKit PRO. O curso de R Academy inclui 4 aulas no total.
O que vou aprender em “Criando matrizes com matrix()”?
Crie matrizes especificando data, nrow, ncol e byrow. Você pratica R Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar R Academy?
Nenhuma experiência prévia é necessária. R Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Criando matrizes com matrix()”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de R Academy?
Sim. Cada aula de R Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Criando matrizes com matrix()
- Indexação e subconjuntos de matrizes
- Aritmética e operações com matrizes
- Transposição e remodelagem de matrizes