0Pricing
R Academy · Lección

Creación de matrices con matrix()

Construya matrices especificando data, nrow, ncol y byrow.

Creación de matrices con matrix() es una lección gratuita de R Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de R Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de R Academy incluye 4 lecciones en total.

¿Qué es una matriz en R?

Una matriz en R es una estructura de datos bidimensional en la que todos los elementos deben ser del mismo tipo. Considérela como una tabla con filas y columnas. Las matrices son fundamentales para el álgebra lineal, el procesamiento de imágenes y los cálculos estadí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)

La función matrix() toma un vector de datos y lo organiza en filas y columnas. De forma predeterminada, R rellena la matriz columna por columna (en orden principal por columnas).

# 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 rellenar por filas

Establecer byrow = TRUE rellena la matriz fila por fila. Esto suele ser más intuitivo cuando piensa en los datos en términos de filas, como en una hoja de cálculo.

# 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 un vector de datos

Puede crear una matriz significativa pasando un vector de datos reales. R reutiliza cíclicamente el vector si es más corto que nrow * ncol, pero se recomienda proporcionar exactamente la cantidad correcta 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() — comprobar dimensiones

dim(m) devuelve un vector numérico de longitud 2: primero, la cantidad de filas y, después, la cantidad de columnas. También puede usar nrow(m) y ncol(m) para obtener cada dimensión por separado.

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() — comprobar el tipo

is.matrix(x) devuelve TRUE si x es una matriz. Esto resulta útil para validar las entradas de una función. Tenga en cuenta que una matriz también es un array (is.array() también devuelve 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 de ceros y matriz identidad

Puede crear matrices especiales reutilizando cíclicamente un único valor. matrix(0, n, n) crea una matriz de ceros; diag(n) crea una matriz identidad de n x n (1 en la diagonal y 0 en las demás posiciones).

# 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 cíclicamente

Cuando el vector de datos es más corto que nrow * ncol, R reutiliza cíclicamente el vector (lo repite desde el principio). R le advierte si la longitud del vector no divide exactamente el tamaño de la 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

Proporcionar solo nrow o ncol

Solo necesita proporcionar uno de nrow o ncol; R calcula automáticamente el otro basándose en la longitud de los datos. Si los datos no se dividen exactamente, R los reutiliza cíclicamente y muestra una advertencia.

# 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

Las matrices no se limitan a los números: puede crear matrices de caracteres para datos categóricos, tableros de juegos o cuadrículas de consulta. Sin embargo, todos los elementos deben seguir siendo del mismo 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), '
')

Crear matrices: resumen

Este es un resumen de las formas de crear matrices en R:

  • matrix(data, nrow, ncol) — creación básica (rellenado por columnas de forma predeterminada)
  • matrix(data, nrow, ncol, byrow=TRUE) — rellenar fila por fila
  • matrix(0, n, m) — matriz de ceros
  • diag(n) — matriz identidad
  • dim(m), nrow(m), ncol(m) — consultar dimensiones
  • is.matrix(m) — comprobar el 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))

Comprobación rápida

De forma predeterminada (sin byrow = TRUE), ¿en qué orden rellena los elementos matrix()?

Repaso: creación de matrices

¡Excelente! Estas son las ideas clave de la lección:

  • matrix(data, nrow, ncol) crea una matriz; de forma predeterminada, los datos se rellenan columna por columna
  • Use byrow = TRUE para rellenar la matriz fila por fila
  • Solo tiene que especificar nrow O ncol; R deduce el otro valor
  • dim(m) devuelve c(rows, cols); nrow() y ncol() proporcionan los recuentos individuales
  • is.matrix() comprueba si un objeto es una matriz
  • matrix(0, n, n) crea una matriz de ceros; diag(n) crea una matriz identidad
# 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), '
')

Preguntas frecuentes

¿La lección «Creación de matrices con matrix()» es gratis?

Sí — el texto completo de «Creación de matrices con matrix()» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de R Academy, actualiza a CoddyKit PRO. El curso de R Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Creación de matrices con matrix()»?

Construya matrices especificando data, nrow, ncol y byrow. Practicas R Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar R Academy?

No se requiere experiencia previa. R Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Creación de matrices con matrix()»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de R Academy?

Sí. Cada lección de R Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación de matrices con matrix()
  2. Indexación y subconfiguración de matrices
  3. Aritmética y operaciones con matrices
  4. Transposición y cambio de forma de matrices
← Volver a R Academy