lapply() sur une liste
La première fonction de la famille apply que vous allez apprendre est lapply(), pour « list apply ». Lorsque vous avez une liste et que vous voulez appliquer la même fonction à chaque élément de cette liste, lapply() est une solution possible qui retourne toujours une autre liste. Comment cela fonctionne-t-il?
Voyons un exemple simple. Supposons que vous vouliez trouver la longueur de chaque vecteur dans la liste suivante.
my_list
$a
[1] 2 4 5
$b
[1] 10 14 5 3 4 5 6
# Utilisation de lapply
# Remarquez que vous n'avez pas besoin de parenthèses en appelant length
lapply(my_list, FUN = length)
$a
[1] 3
$b
[1] 7
Comme mentionné dans la vidéo, si vous avez d'abord pensé à parcourir chaque élément de la liste avec une boucle et à utiliser length() à chaque itération, vous n'aviez pas tort. lapply() est la version vectorisée de ce type de boucle, et elle est souvent privilégiée (et plus simple) dans l'écosystème R.
Une liste de rendements boursiers quotidiens en pourcentage appelée stock_return ainsi que la fonction percent_to_decimal() vous sont fournies.
Cette activité fait partie du cours
R intermédiaire pour la finance
Instructions de l’exercice
- Affichez
stock_return. - Complétez l'appel à
lapply()pour appliquerpercent_to_decimal()à chaque élément destock_return.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Print stock_return
___
# lapply to change percents to decimal
lapply(___, FUN = ___)