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
Övningsinstruktioner
- Skriv ut
corrfö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 icorr. - Den inre slingan ska iterera över
cols icorr. - Print-satsen ska skriva ut namnen på den aktuella kolumnen och raden samt deras korrelation.
- Den yttre slingan ska iterera över
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]))
}
}