Funkcje w funkcjach
Aby pisać przejrzysty kod, warto czasem używać funkcji wewnątrz innych funkcji. Dzięki temu możesz przekazać wynik jednej funkcji bezpośrednio do drugiej, bez potrzeby tworzenia zmiennej pośredniej. W rzeczywistości widziałeś już taki przykład przy okazji print() i 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() łączy wektory znakowe w jeden ciąg, a print() wyświetla wynik w konsoli.
Poniższe ćwiczenie pokazuje, jak uprościć obliczanie macierzy korelacji za pomocą zagnieżdżonych funkcji. Do dyspozycji masz trzy wektory cen akcji: apple, ibm oraz micr.
To ćwiczenie jest częścią kursu
R dla finansów – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Najpierw połącz je za pomocą
cbind()w kolejności:apple,ibm,micr. Zapisz wynik jakostocks. - Następnie użyj funkcji
cor()na obiekciestocks. - Teraz sprawdź, jak to działa za jednym razem. Użyj
cbind()wewnątrzcor(), podając 3 wektory cen akcji w tej samej kolejności co powyżej, aby utworzyć macierz korelacji.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___