CommencerCommencer gratuitement

Appliquer les fonctions qui renvoient NULL

Dans tous les exercices précédents, on a supposé que les fonctions appliquées aux vecteurs et aux listes renvoyaient un résultat significatif. Par exemple, la fonction tolower() renvoie simplement les chaînes de caractères avec les caractères en minuscules. Ce ne sera pas toujours le cas. Supposons que vous souhaitiez afficher la structure de chaque élément d'une liste. Vous pouvez utiliser la fonction str() qui renvoie NULL:

lapply(list(1, "a", TRUE), str)

Cet appel renvoie en fait une liste, de la même taille que la liste d'entrée, contenant toutes les valeurs NULL. D'autre part, en appelant

str(TRUE)

à lui seul n'imprime que la structure de la logique à la console, et non NULL. En effet, les str() utilise invisible() dans les coulisses, ce qui renvoie une copie invisible de la valeur de retour, NULL dans ce cas. Cela évite qu'il soit imprimé lorsque le résultat de str() n'est pas affecté.

Quel sera le résultat du morceau de code suivant (split_low est déjà disponible dans l'espace de travail) ? Essayez de raisonner sur le résultat avant de l'exécuter simplement dans la console !

lapply(split_low, function(x) {
  if (nchar(x[1]) > 5) {
    return(NULL)
  } else {
    return(x[2])
  }
})

Cet exercice fait partie du cours

Intermédiaire R

Afficher le cours

Exercice interactif pratique

Passez de la théorie à la pratique avec l’un de nos exercices interactifs

Commencer l’exercice