Utiliser vapply (2)
Jusqu’ici, vous avez vu que vapply() imite le comportement de sapply() quand tout se passe bien. Mais que se passe-t-il si ce n’est pas le cas ?
Dans la vidéo, Filip vous a montré qu’il existe des situations où la structure de la sortie de la fonction que vous souhaitez appliquer, FUN, ne correspond pas au modèle que vous spécifiez dans FUN.VALUE. Dans ce cas, vapply() créera une erreur pour vous informer du décalage entre la sortie attendue et la sortie réelle.
Cet exercice fait partie du cours
R niveau intermédiaire
Instructions
- Examinez le code préchargé et essayez de l’exécuter. Si vous n’avez rien modifié, une erreur devrait apparaître. C’est parce que
vapply()s’attend toujours à ce quebasics()renvoie un vecteur de longueur 3. Le message d’erreur vous indique ce qui ne va pas. - Essayez de corriger l’erreur en modifiant la commande
vapply().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# temp is already available in the workspace
# Definition of the basics() function
basics <- function(x) {
c(min = min(x), mean = mean(x), median = median(x), max = max(x))
}
# Fix the error:
vapply(temp, basics, numeric(3))