R - Funktionen
Eine Funktion ist eine Reihe von Anweisungen, die zusammen organisiert sind, um eine bestimmte Aufgabe auszuführen. R verfügt über eine große Anzahl integrierter Funktionen, und der Benutzer kann seine eigenen Funktionen erstellen.
In R ist eine Funktion ein Objekt, sodass der R-Interpreter die Steuerung an die Funktion übergeben kann, zusammen mit Argumenten, die erforderlich sein können, damit die Funktion die Aktionen ausführt.
Die Funktion führt wiederum ihre Aufgabe aus und gibt die Kontrolle an den Interpreter sowie alle Ergebnisse zurück, die möglicherweise in anderen Objekten gespeichert sind.
Funktionsdefinition
Eine R-Funktion wird mit dem Schlüsselwort erstellt function. Die grundlegende Syntax einer R-Funktionsdefinition lautet wie folgt:
function_name <- function(arg_1, arg_2, ...) {
Function body
}
Funktionskomponenten
Die verschiedenen Teile einer Funktion sind -
Function Name- Dies ist der tatsächliche Name der Funktion. Es wird in der R-Umgebung als Objekt mit diesem Namen gespeichert.
Arguments- Ein Argument ist ein Platzhalter. Wenn eine Funktion aufgerufen wird, übergeben Sie dem Argument einen Wert. Argumente sind optional; Das heißt, eine Funktion darf keine Argumente enthalten. Auch Argumente können Standardwerte haben.
Function Body - Der Funktionskörper enthält eine Sammlung von Anweisungen, die definieren, was die Funktion tut.
Return Value - Der Rückgabewert einer Funktion ist der letzte Ausdruck im zu bewertenden Funktionskörper.
R hat viele in-builtFunktionen, die direkt im Programm aufgerufen werden können, ohne sie vorher zu definieren. Wir können auch unsere eigenen Funktionen erstellen und verwenden, auf die Bezug genommen wirduser defined Funktionen.
Eingebaute Funktion
Einfache Beispiele für eingebaute Funktionen sind seq(), mean(), max(), sum(x) und paste(...)usw. Sie werden direkt von benutzerdefinierten Programmen aufgerufen. Sie können auf die am häufigsten verwendeten R-Funktionen verweisen .
# Create a sequence of numbers from 32 to 44.
print(seq(32,44))
# Find mean of numbers from 25 to 82.
print(mean(25:82))
# Find sum of numbers frm 41 to 68.
print(sum(41:68))
Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:
[1] 32 33 34 35 36 37 38 39 40 41 42 43 44
[1] 53.5
[1] 1526
Benutzerdefinierte Funktion
Wir können benutzerdefinierte Funktionen in R erstellen. Sie sind spezifisch für die Wünsche eines Benutzers und können nach ihrer Erstellung wie die integrierten Funktionen verwendet werden. Unten finden Sie ein Beispiel dafür, wie eine Funktion erstellt und verwendet wird.
# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
for(i in 1:a) {
b <- i^2
print(b)
}
}
Eine Funktion aufrufen
# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
for(i in 1:a) {
b <- i^2
print(b)
}
}
# Call the function new.function supplying 6 as an argument.
new.function(6)
Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36
Aufrufen einer Funktion ohne Argument
# Create a function without an argument.
new.function <- function() {
for(i in 1:5) {
print(i^2)
}
}
# Call the function without supplying an argument.
new.function()
Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
Aufrufen einer Funktion mit Argumentwerten (nach Position und Name)
Die Argumente für einen Funktionsaufruf können in derselben Reihenfolge wie in der Funktion angegeben oder in einer anderen Reihenfolge, jedoch den Namen der Argumente zugewiesen werden.
# Create a function with arguments.
new.function <- function(a,b,c) {
result <- a * b + c
print(result)
}
# Call the function by position of arguments.
new.function(5,3,11)
# Call the function by names of the arguments.
new.function(a = 11, b = 5, c = 3)
Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:
[1] 26
[1] 58
Aufrufen einer Funktion mit Standardargument
Wir können den Wert der Argumente in der Funktionsdefinition definieren und die Funktion aufrufen, ohne ein Argument anzugeben, um das Standardergebnis zu erhalten. Wir können solche Funktionen aber auch aufrufen, indem wir neue Werte des Arguments angeben und ein nicht standardmäßiges Ergebnis erhalten.
# Create a function with arguments.
new.function <- function(a = 3, b = 6) {
result <- a * b
print(result)
}
# Call the function without giving any argument.
new.function()
# Call the function with giving new values of the argument.
new.function(9,5)
Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:
[1] 18
[1] 45
Faule Funktionsbewertung
Argumente für Funktionen werden träge ausgewertet, dh sie werden nur ausgewertet, wenn sie vom Funktionskörper benötigt werden.
# Create a function with arguments.
new.function <- function(a, b) {
print(a^2)
print(a)
print(b)
}
# Evaluate the function without supplying one of the arguments.
new.function(6)
Wenn wir den obigen Code ausführen, wird das folgende Ergebnis erzeugt:
[1] 36
[1] 6
Error in print(b) : argument "b" is missing, with no default