lapply() su una lista
La prima funzione della famiglia apply che impari è lapply(), abbreviazione di "list apply". Quando hai una lista e vuoi applicare la stessa funzione a ciascun elemento, lapply() è una soluzione che restituisce sempre un'altra lista. Come funziona in pratica?
Vediamo un esempio semplice. Supponi di voler trovare la lunghezza di ogni vettore nella lista seguente.
my_list
$a
[1] 2 4 5
$b
[1] 10 14 5 3 4 5 6
# Uso di lapply
# Nota che non servono parentesi quando richiami length
lapply(my_list, FUN = length)
$a
[1] 3
$b
[1] 7
Come detto nel video, se inizialmente hai pensato di iterare su ciascun elemento della lista e usare length() a ogni iterazione, non è sbagliato. lapply() è la versione vettorializzata di questo tipo di loop ed è spesso preferita (e più semplice) nel mondo R.
Hai a disposizione una lista di rendimenti giornalieri azionari in percentuale chiamata stock_return e la funzione percent_to_decimal().
Questo esercizio fa parte del corso
R intermedio per la finanza
Istruzioni dell'esercizio
- Stampa
stock_return. - Completa la chiamata a
lapply()per applicarepercent_to_decimal()a ciascun elemento distock_return.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Print stock_return
___
# lapply to change percents to decimal
lapply(___, FUN = ___)