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.
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.