Kom igångKom igång gratis

Loopa över matriselement

Hittills har du loopar över endimensionella datatyper. Om du vill loopa över elementen i en matris – dvs. kolumner och rader – behöver du använda nästlade slingor. Du använder den här idén för att skriva ut korrelationerna mellan tre aktier.

Ett enkelt sätt att tänka på det är att du börjar på rad 1 och rör dig åt höger, genom kol1, kol2 och så vidare, tills du nått den sista kolumnen på rad 1. Sedan går du ner till rad 2 och upprepar processen.

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"

Korrelationsmatrisen corr finns tillgänglig för dig att använda.

Den här övningen är en del av kursen

R för finans – fortsättningskurs

Visa kurs

Övningsinstruktioner

  • Skriv ut corr för att få en överblick över datan.
  • Fyll i den nästlade for-slingan! Den ska uppfylla följande krav:
    • Den yttre slingan ska iterera över rows i corr.
    • Den inre slingan ska iterera över cols i corr.
    • Print-satsen ska skriva ut namnen på den aktuella kolumnen och raden samt deras korrelation.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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]))
    }
}
Redigera och kör kod