Aprende todo sobre las matrices en R: cómo nombrar filas y columnas, acceder a elementos y realizar operaciones como suma, resta, multiplicación y división.
Las matrices son objetos cuyas entradas se organizan en una estructura bidimensional, generalmente con elementos numéricos para realizar distintos cálculos.
value: especifica el vector de entrada; cada valor del vector será un elemento de la matriz.
nrow: indica el número de filas de la matriz.
ncol: indica el número de columnas de la matriz.
byrow: valor booleano TRUE o FALSE. Si es TRUE, los elementos se rellenan por filas; si es FALSE, se rellenan por columnas.
dimnames: permite dar nombre a las filas y columnas de la matriz.
Veamos un ejemplo donde "mat" es el nombre de una matriz cuyo vector de entrada en c contiene los valores 8, 4, 5, 6, 7, 9. También se especifica el número de filas, es decir, "nrow" igual a 2, y "ncol" igual a 3, lo que da una matriz de dimensión 2 × 3. Además, los elementos se rellenan por filas, es decir, el vector de entrada se vuelca fila a fila.
mat = matrix(c(8,4,5,6,7,9),nrow =2, ncol =3,byrow =TRUE)
print(mat)Con la tecnología de
La salida del código anterior muestra tres columnas y dos filas, con los elementos rellenados por filas.
Creemos una matriz con los elementos del 1 al 9 y 3 filas. Además, asignaremos nombres a filas y columnas con los vectores que van de r1 a r3 y de c1 a c3.
mat <- matrix(1:9, nrow =3,dimnames = list(c("r1","r2","r3"), c("c1","c2","c3")))
mat
Con la tecnología de
La salida anterior muestra que los elementos del 1 al 9 se han rellenado por columnas. También se observan las etiquetas de filas (r1 a r3) y columnas (c1 a c3).
Acceder a elementos de una matriz
La matriz siguiente se llama "mat" y tiene 3 filas y 3 columnas.
Para acceder a elementos individuales, utiliza el nombre de la matriz seguido de corchetes con los índices de fila y columna.
Para acceder al elemento 5 de la matriz: mat[2,2]
Para acceder al elemento 6 de la matriz: mat[3,2]
Para acceder a toda la primera columna, es decir, [1 2 3]: mat[,1]
Para acceder a toda la segunda fila, es decir, [2 5 8]: mat[2,]
Operaciones con matrices
Suma y resta de matrices
Condición: para sumar o restar matrices, deben tener la misma dimensión; es decir, el mismo número de filas y columnas. Por ejemplo:
Las matrices mat1 y mat2 de abajo son de 3 × 3; el número de filas y columnas coincide en ambas.
mat1 <- matrix(c(5,10,15,20,25,30,35,40,45), nrow =3)
print(mat1)
mat2 <- matrix(c(50,55,60,65,70,75,80,85,90), nrow =3)
print(mat2)Con la tecnología de
[,1][,2][,3][1,]52035[2,]102540[3,]153045[,1][,2][,3][1,]506580[2,]557085[3,]607590Con la tecnología de
Arriba se imprimen las matrices, con las entradas rellenadas por columnas.
add_output <- mat1 + mat2
cat("Addition","\n")
print(add_output)
sub_output <- mat1 - mat2
cat("Subtraction","\n")
print(sub_output)Con la tecnología de
Addition
[,1][,2][,3][1,]5585115[2,]6595125[3,]75105135
Subtraction
[,1][,2][,3][1,]-45-45-45[2,]-45-45-45[3,]-45-45-45Con la tecnología de
En la salida de la suma y la resta, cada elemento de mat1 se suma o se resta con el elemento correspondiente de mat2. Por ejemplo, en la suma, la entrada de la fila 1 y columna 1 (5 en mat1) se suma con la de la fila 1 y columna 1 en mat2 (50) para obtener 55. Lo mismo se aplica al resto de entradas tanto en la suma como en la resta.
Multiplicación y división de matrices
Condición: para la multiplicación y la división elemento a elemento, el número de filas y columnas debe coincidir; es decir, las dimensiones han de ser iguales.
Multiplicación de matrices
Veamos un ejemplo con dos matrices llamadas mat1 y mat2, ambas de 3 filas y 2 columnas. Tienen seis elementos rellenados por columnas; cada matriz es de dimensión 3 × 2.
mat1<- matrix(c(2,4,6,8,10,12), nrow =3,ncol =2)
print(mat1)
mat2 <- matrix(c(14,16,18,20,22,24), nrow =3,ncol=2)
print(mat2)
final <- mat1 * mat2
print('------------------')
cat("Multiplication","\n")
print(final)Con la tecnología de
[,1][,2][1,]28[2,]410[3,]612[,1][,2][1,]1420[2,]1622[3,]1824-----------------
Multiplication
[,1][,2][1,]28160[2,]64220[3,]108288Con la tecnología de
La salida muestra la multiplicación elemento a elemento entre mat1 y mat2. Por ejemplo, "mat1[1][1]" (2) se multiplica por "mat2[1][1]" (14) para obtener 28. El mismo proceso se aplica a todos los elementos; por último, "mat1[3][2]" (12) por "mat2[3][2]" (24) da 288.
División de matrices
Veamos ahora la división elemento a elemento con las mismas dimensiones (3 filas y 2 columnas).
mat1<- matrix(c(2,4,6,8,10,12), nrow =3,ncol =2)
print(mat1)
mat2 <- matrix(c(14,16,18,20,22,24), nrow =3,ncol=2)
print(mat2)
final <- mat1 / mat2
print('--------------')
cat("Division","\n")
print(final)Con la tecnología de
[,1][,2][1,]28[2,]410[3,]612[,1][,2][1,]1420[2,]1622[3,]1824--------------
Division
[,1][,2][1,]0.14285710.4000000[2,]0.25000000.4545455[3,]0.33333330.5000000Con la tecnología de
La salida muestra la división elemento a elemento entre mat1 y mat2. Por ejemplo, "mat1[1][1]" (2) se divide entre "mat2[1][1]" (14) y da 0.1428571. Del mismo modo, "mat1[3][2]" (12) entre "mat2[3][2]" (24) da 0.5000000.
¡Enhorabuena!
¡Has llegado al final de este tutorial!
En este tutorial has aprendido todo sobre las matrices en R: cómo nombrar filas y columnas, cómo acceder a elementos y cómo realizar operaciones como suma, resta, multiplicación y división.
Si quieres seguir aprendiendo R, apúntate al curso Introduction to R de DataCamp.
Descubre cómo acceder a los datos de tu marco de datos con el subconjunto. Aprende a hacer subconjuntos utilizando paréntesis o la función subconjunto() de R.
Un tutorial sobre bucles en R que examina las construcciones disponibles en R para realizar bucles. Descubra alternativas utilizando la función de vectorización de R.
Aprende a escribir código R más rápido, descubre las pruebas comparativas y la creación de perfiles, y desvela los secretos de la programación paralela.
Las matrices son objetos cuyas entradas se organizan en una estructura bidimensional, generalmente con elementos numéricos para realizar distintos cálculos.
Por ejemplo, fíjate en la matriz siguiente.
La matriz anterior tiene 3 filas y 3 columnas.
En R, una matriz se puede crear con "matrix()".
La sintaxis de una matriz en R es la siguiente:
Los parámetros anteriores se definen así:
Veamos un ejemplo donde "mat" es el nombre de una matriz cuyo vector de entrada en c contiene los valores 8, 4, 5, 6, 7, 9. También se especifica el número de filas, es decir, "nrow" igual a 2, y "ncol" igual a 3, lo que da una matriz de dimensión 2 × 3. Además, los elementos se rellenan por filas, es decir, el vector de entrada se vuelca fila a fila.
La salida del código anterior muestra tres columnas y dos filas, con los elementos rellenados por filas.
Nombrar filas y columnas
Creemos una matriz con los elementos del 1 al 9 y 3 filas. Además, asignaremos nombres a filas y columnas con los vectores que van de r1 a r3 y de c1 a c3.
La salida anterior muestra que los elementos del 1 al 9 se han rellenado por columnas. También se observan las etiquetas de filas (r1 a r3) y columnas (c1 a c3).
Acceder a elementos de una matriz
La matriz siguiente se llama "mat" y tiene 3 filas y 3 columnas.
Para acceder a elementos individuales, utiliza el nombre de la matriz seguido de corchetes con los índices de fila y columna.
mat[2,2]mat[3,2]mat[,1]mat[2,]Operaciones con matrices
Suma y resta de matrices
Condición: para sumar o restar matrices, deben tener la misma dimensión; es decir, el mismo número de filas y columnas. Por ejemplo:
Las matrices mat1 y mat2 de abajo son de 3 × 3; el número de filas y columnas coincide en ambas.
Arriba se imprimen las matrices, con las entradas rellenadas por columnas.
En la salida de la suma y la resta, cada elemento de mat1 se suma o se resta con el elemento correspondiente de mat2. Por ejemplo, en la suma, la entrada de la fila 1 y columna 1 (5 en mat1) se suma con la de la fila 1 y columna 1 en mat2 (50) para obtener 55. Lo mismo se aplica al resto de entradas tanto en la suma como en la resta.
Multiplicación y división de matrices
Condición: para la multiplicación y la división elemento a elemento, el número de filas y columnas debe coincidir; es decir, las dimensiones han de ser iguales.
Multiplicación de matrices
Veamos un ejemplo con dos matrices llamadas mat1 y mat2, ambas de 3 filas y 2 columnas. Tienen seis elementos rellenados por columnas; cada matriz es de dimensión 3 × 2.
La salida muestra la multiplicación elemento a elemento entre mat1 y mat2. Por ejemplo, "mat1[1][1]" (2) se multiplica por "mat2[1][1]" (14) para obtener 28. El mismo proceso se aplica a todos los elementos; por último, "mat1[3][2]" (12) por "mat2[3][2]" (24) da 288.
División de matrices
Veamos ahora la división elemento a elemento con las mismas dimensiones (3 filas y 2 columnas).
La salida muestra la división elemento a elemento entre mat1 y mat2. Por ejemplo, "mat1[1][1]" (2) se divide entre "mat2[1][1]" (14) y da 0.1428571. Del mismo modo, "mat1[3][2]" (12) entre "mat2[3][2]" (24) da 0.5000000.
¡Enhorabuena!
¡Has llegado al final de este tutorial!
En este tutorial has aprendido todo sobre las matrices en R: cómo nombrar filas y columnas, cómo acceder a elementos y cómo realizar operaciones como suma, resta, multiplicación y división.
Si quieres seguir aprendiendo R, apúntate al curso Introduction to R de DataCamp.