Funcții în funcții
Pentru a scrie cod curat, uneori este util să folosești funcții în interiorul altor funcții. Astfel, poți folosi rezultatul unei funcții direct în alta, fără a mai crea o variabilă intermediară. De fapt, ai mai văzut un exemplu în acest sens cu 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() concatenează vectorii de tip caracter, iar print() afișează rezultatul în consolă.
Exercițiul de mai jos explorează simplificarea calculului matricei de corelație folosind funcții imbricate. Trei vectori cu prețuri de acțiuni, apple, ibm și micr, sunt disponibili pentru a fi utilizați.
Acest exercițiu face parte din cursul
R intermediar pentru finanțe
Instrucțiuni pentru exercițiu
- Mai întâi, combină-i cu
cbind()în ordineaapple,ibm,micr. Salvează rezultatul castocks. - Apoi, aplică
cor()pestocks. - Acum, hai să vedem cum ar funcționa totul dintr-o singură linie. Folosește
cbind()în interiorul luicor()cu cei 3 vectori de acțiuni în aceeași ordine ca mai sus, pentru a crea matricea de corelație.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___