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 colsmatrix(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), '
') # 20is.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 columnProporcionar 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 filamatrix(0, n, m)— matriz de cerosdiag(n)— matriz identidaddim(m),nrow(m),ncol(m)— consultar dimensionesis.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 = TRUEpara rellenar la matriz fila por fila - Solo tiene que especificar
nrowOncol; R deduce el otro valor dim(m)devuelvec(rows, cols);nrow()yncol()proporcionan los recuentos individualesis.matrix()comprueba si un objeto es una matrizmatrix(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
- Creación de matrices con matrix()
- Indexación y subconfiguración de matrices
- Aritmética y operaciones con matrices
- Transposición y cambio de forma de matrices