Funzioni dentro funzioni
Per scrivere codice pulito, a volte è utile usare funzioni all'interno di altre funzioni. Questo ti permette di usare il risultato di una funzione direttamente in un'altra, senza dover creare una variabile intermedia. In realtà hai già visto un esempio con print() e 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() concatena i vettori di caratteri, e print() li stampa in console.
L'esercizio qui sotto esplora come semplificare il calcolo della matrice di correlazione usando funzioni annidate. Tre vettori di prezzi azionari, apple, ibm e micr, sono a tua disposizione.
Questo esercizio fa parte del corso
R intermedio per la finanza
Istruzioni dell'esercizio
- Per prima cosa, usa
cbind()per combinarli nell'ordineapple,ibm,micr. Salvalo instocks. - Poi, usa
cor()sustocks. - Ora, vediamo come fare tutto in un solo passaggio. Usa
cbind()dentrocor()con i 3 vettori dei titoli nello stesso ordine di sopra per creare la matrice di correlazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___