R-Functions: Grundlagen und Anwendung

R ist eine Programmiersprache, die in vielen Bereichen der Datenanalyse und Statistik eingesetzt wird. Eines der wichtigsten Konzepte der R-Programmierung sind Funktionen. Diese helfen dabei, den Code übersichtlich und modular zu gestalten.

Wofür braucht man Funktionen in R?

R-Funktionen werden genutzt, um den Code zu strukturieren, zu organisieren und wiederzuverwenden. Sie sind besonders nützlich, wenn Sie komplexe Analysen durchführen, umfangreiche Datenverarbeitungsaufgaben erledigen oder maßgeschneiderte Analysen erstellen möchten. In R Funktionen zu schreiben, bringt eine Reihe von Vorteilen mit sich:

  • Abstraktion: Funktionen in R bieten eine Möglichkeit, komplexe Prozesse oder Berechnungen in eine einzige, leicht verständliche Schnittstelle zu kapseln. Auf diese Weise kann der Code einfacher gewartet und gelesen werden.
  • Wiederverwendbarkeit: R-Funktionen ermöglichen es, einen bestimmten Codeblock wiederholt auszuführen, ohne ihn jedes Mal neu schreiben zu müssen. Dies spart Zeit und reduziert die Fehleranfälligkeit.
  • Modularität: R-Functions ermöglichen die Aufteilung eines großen Projekts in kleinere, überschaubare Teile.

Syntax von Funktionen in R

Die Syntax von Funktionen in R ist konsistent und folgt einem klaren Muster. Eine Funktion in R besteht aus verschiedenen Hauptkomponenten:

  • Funktionsname: Der Name der Funktion, der im Normalfall angibt, welche Aufgabe sie erfüllt.
  • Argumente: Argumente sind Werte oder Variablen, die Sie der Funktion übergeben und die von der Funktion verarbeitet werden. Eine Funktion kann beliebig viele (und auch gar keine) Argumente entgegennehmen. Außerdem können in R-Functions Default-Values für Argumente eingesetzt werden.
  • Funktionskörper: Der Funktionskörper enthält den Code, der innerhalb der Funktion ausgeführt wird, und steht in geschweiften Klammern. Dieser Code kann auf die Argumente zugreifen und diese verarbeiten.
  • Rückgabewert: Die meisten Funktionen in R geben mithilfe von return() einen Wert zurück, der das Ergebnis der Berechnung darstellt. Dieser Rückgabewert kann verwendet werden, um das Ergebnis der Funktion in anderen Teilen des Codes zu verwenden.

Hier ist ein einfaches Beispiel für eine R-Funktion, die zwei Zahlen addiert:

my_add <- function(a, b) {
    result <- a + b
    return(result)
}
R

In diesem Beispiel ist my_add der Funktionsname, a und b sind die Argumente, der Funktionskörper führt die Addition aus und return(ergebnis) gibt das Ergebnis zurück. Es fällt außerdem auf, dass die R-Function-Definition mit dem Schlüsselwort function eingeleitet wird.

Eine Funktion kann auch vordefinierte Werte für die Argumente beinhalten, auf die dann zurückgegriffen wird, wenn keine Argumente übergeben werden. Die obige R-Funktion mit Default-Values sähe wie folgt aus:

my_add <- function(a = 1, b = 2) {
    result <- a + b
    return(result)
}
R

Wenn die Funktion nun aufgerufen wird, ohne dass Argumente übergeben werden, liefert sie den Wert 3 zurück.

Tipp

Wenn Sie Ihr R-Projekt online bringen möchten, können Sie bei IONOS einen eigenen Webspace mieten, der Ihnen genügend Platz für Webprojekte jeder Art bietet.

Vorinstallierte Funktionen in R

R verfügt über eine umfangreiche Sammlung von bereits installierten Funktionen, auch R-Commands genannt, die für verschiedene Zwecke verwendet werden können. Diese Funktionen sind in R ohne vorherige Definition verfüg- und nutzbar. Teilweise können die Funktionen, wie die Addition, auch durch Operatoren in R – in diesem Fall durch den Operator + – ersetzt werden.

Wenn Sie nicht gerade erst das Programmieren erlernen, sind Ihnen einige der hier gezeigten vordefinierten Funktionen sicherlich aus anderen Programmiersprachen vertraut:

  • mean(): Berechnet den Durchschnitt von Zahlen
  • plot(): Eine Plotting-Function in R für das Erstellen von Diagrammen und Grafiken
  • read.csv(): Liest Daten aus einer CSV-Datei ein
  • toupper(): Wandelt alle Zeichen eines R-Strings in Großbuchstaben um
  • sum(): Berechnet die Summe von Zahlen
  • print(): Gibt Werte auf der Konsole aus

Hier ist ein Beispiel zur Verwendung der vorinstallierten Funktion mean() in R. In der Variable result ist am Ende des Codes der Durchschnitt aller Zahlen aus dem R-Vektor numbers hinterlegt.

numbers <- c(2, 4, 6, 8, 10)
result <- mean(zahlen)
R

Eigene R-Funktionen schreiben

Das Erstellen eigener Funktionen in R ist ein grundlegender Teil der Programmierung in R. Sie können Funktionen erstellen, die speziell auf Ihre Anforderungen zugeschnitten sind. Hierbei müssen Sie lediglich die R-Syntax beachten und sich überlegen, welche Argumente Ihre Funktion benötigt.

Ein einfaches Beispiel für eine eigene R-Funktion, die den Betrag einer Zahl zurückgibt, könnte wie folgt aussehen:

my_abs <- function(x) {
    if (x < 0) {
        return(-x)
    } else {
        return(x)
    }
}
R

Im obigen Beispiel nimmt die Funktion ein Argument x entgegen. Im Funktionskörper wird dann mithilfe eines R-if-Statements geprüft, ob es sich hierbei um eine negative oder um eine positive Zahl handelt und der Rückgabewert wird entsprechend angepasst.

Verwendung von Funktionen in R

Nachdem Sie eine Funktion erstellt haben, können Sie diese in Ihrem R-Code verwenden, indem Sie den Funktionsnamen aufrufen und die erforderlichen Argumente übergeben. Die Verwendung eigener Funktionen erfolgt analog zu der Verwendung vordefinierter R-Functions.

Hier ist ein Beispiel für die Verwendung der eben erstellten my_abs-Funktion:

result <- my_abs(-5)
print(result)
R

Wenn Sie das Codebeispiel ausführen, werden Sie sehen, dass eine 5 auf dem Bildschirm ausgegeben wird. Die Berechnung des Absolutbetrags mithilfe der Funktion führt also zum richtigen Ergebnis.