Iterar sobre elementos de una matriz
Hasta ahora has estado iterando sobre tipos de datos unidimensionales. Si quieres recorrer elementos en una matriz (columnas y filas), tendrás que usar bucles anidados. Usarás esta idea para imprimir las correlaciones entre tres acciones.
La forma más sencilla de pensarlo es que vas a empezar en la fila 1 y te moverás hacia la derecha, pasando por la col1, col2, …, hasta la última columna de la fila 1. Luego, bajas a la fila 2 y repites el proceso.
my_matrix
[,1] [,2]
[1,] "r1c1" "r1c2"
[2,] "r2c1" "r2c2"
# Loop over my_matrix
for(row in 1:nrow(my_matrix)) {
for(col in 1:ncol(my_matrix)) {
print(my_matrix[row, col])
}
}
[1] "r1c1"
[1] "r1c2"
[1] "r2c1"
[1] "r2c2"
La matriz de correlaciones, corr, está disponible para que la uses.
Este ejercicio forma parte del curso
R intermedio para finanzas
Instrucciones del ejercicio
- Imprime
corrpara echar un vistazo a los datos. - Completa el bucle for anidado. Debe cumplir lo siguiente:
- El bucle exterior debe iterar sobre las
rows decorr. - El bucle interior debe iterar sobre las
cols decorr. - La sentencia de impresión debe mostrar los nombres de la columna y la fila actuales, y también su correlación.
- El bucle exterior debe iterar sobre las
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Print out corr
___
# Create a nested loop
for(row in 1:nrow(___)) {
for(col in 1:___(corr)) {
print(paste(colnames(corr)[___], "and", rownames(corr)[___],
"have a correlation of", corr[row,col]))
}
}