IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Stampa stock_return.
  • Completa la chiamata a lapply() per applicare percent_to_decimal() a ciascun elemento di stock_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 = ___)
Modifica ed esegui il codice