Direkt zum Inhalt
Urkunden
Datenmanagement in RDateneingabe in RGraphen in RR DokumentationR SchnittstelleStatistik in R

Benutzerdefinierte Funktionen in R

Eine der großen Stärken von R ist die Möglichkeit, dass der Benutzer Funktionen hinzufügen kann. Tatsächlich sind viele der Funktionen in R eigentlich Funktionen von Funktionen. Die Struktur einer Funktion ist unten angegeben.

myfunction <- function(arg1, arg2, ... ){
statements
return(object)
}

Objekte in der Funktion sind lokal in der Funktion. Das zurückgegebene Objekt kann ein beliebiger Datentyp sein. Hier ist ein Beispiel.

# function example - get measures of central tendency
# and spread for a numeric vector x. The user has a
# choice of measures and whether the results are printed.

mysummary <- function(x,npar=TRUE,print=TRUE) {
  if (!npar) {
    center <- mean(x); spread <- sd(x)
  } else {
    center <- median(x); spread <- mad(x)
  }
  if (print & !npar) {
    cat("Mean=", center, "\n", "SD=", spread, "\n")
  }
else if (print & npar) {
    cat("Median=", center, "\n", "MAD=", spread, "\n")
  }
  result <- list(center=center,spread=spread)
  return(result)
}

# invoking the function
set.seed(1234)
x <- rpois(500, 4)
y <- mysummary(x)
Median= 4
MAD= 1.4826
# y$center is the median (4)
# y$spread is the median absolute deviation (1.4826)

y <- mysummary(x, npar=FALSE, print=FALSE)
# no output
# y$center is the mean (4.052)
# y$spread is the standard deviation (2.01927)

Es kann lehrreich sein, sich den Code einer Funktion anzusehen. In R kannst du den Code einer Funktion anzeigen, indem du den Funktionsnamen ohne ( ) eingibst.

Schließlich möchtest du vielleicht deine eigenen Funktionen speichern und sie in jeder Sitzung zur Verfügung haben. Du kannst die R-Umgebung so anpassen, dassdeine Funktionen beim Start geladen werden.

Zum Üben

Probiere diesen interaktiven Kurs zum Schreiben von Funktionen in R aus.

R Grundlagen lernen

Beherrsche die Grundlagen der Datenanalyse in R, einschließlich Vektoren, Listen und Datenrahmen, und übe R mit echten Datensätzen.
Beginne R kostenlos zu lernen