Loop over matrixelementen
Tot nu toe heb je gelust over eendimensionale datatypen. Als je over elementen in een matrix (kolommen en rijen) wilt loopen, moet je geneste loops gebruiken. Je gebruikt dit idee om de correlaties tussen drie aandelen uit te printen.
De makkelijkste manier om hierover na te denken, is dat je begint op rij1 en naar rechts gaat: kol1, kol2, … tot en met de laatste kolom in rij1. Daarna ga je naar beneden naar rij2 en herhaal je het proces.
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"
De correlatiematrix, corr, is voor je beschikbaar.
Deze oefening maakt deel uit van de cursus
R voor finance voor gevorderden
Oefeninstructies
- Print
corrom alvast naar de data te kijken. - Vul de geneste for-loop in! Deze moet aan het volgende voldoen:
- De buitenste loop moet over de
rows vancorrlopen. - De binnenste loop moet over de
cols vancorrlopen. - De print-opdracht moet de namen van de huidige kolom en rij printen, en ook hun correlatie.
- De buitenste loop moet over de
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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]))
}
}