Funktioner i funktioner
För att skriva ren kod kan det vara användbart att anropa funktioner inuti andra funktioner. Det gör att du kan använda resultatet av en funktion direkt i en annan, utan att behöva skapa en mellanliggande variabel. Du har faktiskt redan sett ett exempel på detta med print() och paste().
company <- c("Goldman Sachs", "J.P. Morgan", "Fidelity Investments")
for(i in 1:3) {
print(paste("A large financial institution is", company[i]))
}
[1] "A large financial institution is Goldman Sachs"
[1] "A large financial institution is J.P. Morgan"
[1] "A large financial institution is Fidelity Investments"
paste() sätter ihop teckenvektorerna, och print() skriver ut resultatet i konsolen.
Övningen nedan utforskar hur beräkningen av en korrelationsmatris kan förenklas med hjälp av nästlade funktioner. Tre vektorer med aktiekurser – apple, ibm och micr – finns tillgängliga för dig att använda.
Den här övningen är en del av kursen
R för finans – fortsättningskurs
Övningsinstruktioner
- Använd först
cbind()för att kombinera dem i ordningenapple,ibm,micr. Spara resultatet somstocks. - Använd sedan
cor()påstocks. - Nu ska vi se hur det fungerar i ett enda steg. Använd
cbind()inuticor()med de tre aktievektorerna i samma ordning som ovan för att skapa korrelationsmatrisen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___