Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Print corr om 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 van corr lopen.
    • De binnenste loop moet over de cols van corr lopen.
    • De print-opdracht moet de namen van de huidige kolom en rij printen, en ook hun correlatie.

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]))
    }
}
Code bewerken en uitvoeren