Utiliser vapply (2)
Jusqu'à présent, vous avez vu que vapply() imite le comportement de sapply() si tout se passe comme prévu. Et si ce n'est pas le cas ?
Dans la vidéo, Filip vous a montré qu'il existe des cas où la structure de la sortie de la fonction que vous souhaitez appliquer, FUN, ne correspond pas au modèle que vous avez spécifié dans FUN.VALUE. Dans ce cas, vapply() produira une erreur qui vous informera du décalage entre le résultat attendu et le résultat réel.
Cet exercice fait partie du cours
Intermédiaire R
Instructions
- Inspectez le code préchargé et essayez de l'exécuter. Si vous n'avez rien changé, 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()commande.
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))