Erste SchritteKostenlos loslegen

Funktionen anwenden, die NULL zurückgeben

In allen vorherigen Übungen wurde davon ausgegangen, dass die auf Vektoren und Listen angewendeten Funktionen tatsächlich ein sinnvolles Ergebnis liefern. Zum Beispiel gibt die Funktion tolower() einfach die eingegebene Zeichenkette in Kleinbuchstaben zurück. Das wird jedoch nicht immer der Fall sein. Angenommen, du möchtest die Struktur jedes Elements einer Liste anzeigen. Du könntest die str()-Funktion verwenden, die NULL zurückgibt:

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

Dieser Aufruf gibt eine Liste zurück, die genauso groß ist wie die Eingabeliste und nur NULL-Werte enthält. Angenommen, du nutzt aber nun folgenden Aufruf:

str(TRUE)

Dann gibt die Funktion nur die Struktur des logischen Werts in der Konsole aus, nicht NULL. Das liegt daran, dass str() im Hintergrund invisible() verwendet, wodurch eine unsichtbare Kopie des Rückgabewerts zurückgegeben wird, in diesem Fall NULL. So wird die Ausgabe des Werts verhindert, wenn das Ergebnis von str() nicht zugewiesen wird.

Was wird der folgende Codeausschnitt wohl zurückgeben? (split_low ist bereits im Arbeitsbereich verfügbar.) Durchdenke das mögliche Ergebnis zuerst selbst, bevor du den Code in der Konsole ausführst!

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

Diese Übung ist Teil des Kurses

R für Fortgeschrittene

Kurs anzeigen

Interaktive Übung zum Anfassen

Setzen Sie die Theorie mit einer unserer interaktiven Übungen in die Tat um

Beginnen Sie mit dem Training