R Academy · Aula

Criando matrizes com matrix()

Crie matrizes especificando data, nrow, ncol e byrow.

Aula 1 de 413 etapas

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 cols

matrix(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), '
')  # 20

is.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 column

Fornecendo 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 linha
  • matrix(0, n, m) — matriz nula
  • diag(n) — matriz identidade
  • dim(m), nrow(m), ncol(m) — inspecionam as dimensões
  • is.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 = TRUE para preencher a matriz linha por linha
  • Você só precisa especificar nrow OU ncol — o R deduz o outro valor
  • dim(m) retorna c(rows, cols); nrow() e ncol() fornecem as contagens individuais
  • is.matrix() testa se um objeto é uma matriz
  • matrix(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), '
')
Grátis para começar

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

  1. Criando matrizes com matrix()
  2. Indexação e subconjuntos de matrizes
  3. Aritmética e operações com matrizes
  4. Transposição e remodelagem de matrizes
← Voltar para R Academy