English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Funktion ist eine Gruppe von Anweisungen, die gemeinsam eine Aufgabe ausführen. R bietet viele eingebaute Funktionen, natürlich können wir auch selbst Funktionen erstellen.
Sie können den Code in verschiedene Funktionen aufteilen. Wie Sie den Code in verschiedene Funktionen aufteilen, entscheiden Sie selbst, aber im logischen Sinne erfolgt die Aufteilung normalerweise darauf, dass jede Funktion eine spezifische Aufgabe ausführt.
FunktionDeklarationInformiert den Compiler über den Namen, den Rückgabetyp und die Parameter der Funktion. FunktionDefinierenBietet den tatsächlichen Hauptteil der Funktion.
Funktionen in R sind Objekte und können Eigenschaften haben.
Die Definition von Funktionen in R verwendet den Schlüsselwort 'function', und die allgemeine Form ist wie folgt:
function_name <- function(arg_1, arg_2, ...) { // Funktionshauptteil }
Beschreibung:
function_name : Der Name der Funktion
arg_1, arg_2, ... : Liste der Formparametern
Der Rückgabewert der Funktion wird mit return() verwendet.
R bietet viele nützliche eingebaute Funktionen, die wir ohne Definition direkt verwenden können.
Beispiel: seq(), mean(), max(), sum(x) sowie paste(...) und mehr.
# Ausgabe 32 bis 44 alle Zahlen bis print(seq(32,44)) # Berechnung des Durchschnitts zweier Zahlen print(mean(25:82)) # Berechnen 41 bis 68 Die Summe aller Zahlen print(sum(41:68))
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 32 33 34 35 36 37 38 39 40 41 42 43 44 [1] 53.5 [1] 1526
Wir können unsere eigenen Funktionen erstellen, die spezielle Funktionen ausführen, und können sie nach der Definition wie eingebaute Funktionen verwenden.
Hier wird gezeigt, wie man Funktionen selbst definiert:
# Definition einer Funktion zur Zählung einer Reihe bis zum Quadrat new.function <- function(a) { for(i in 1:a) { b <- i^2 print(b) } }
Hier können wir die Funktion aufrufen:
new.function <- function(a) { for(i in 1:a) { b <- i^2 print(b) } } # Aufruf der Funktion und Übermittlung von Parametern new.function(6)
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 1 [1] 4 [1] 9 [1] 16 [1] 25 [1] 36
Wir können auch eine Funktion ohne Parameter erstellen:
new.function <- function() { for(i in 1:5) { print(i^2) } } # Funktion aufrufen, ohne Parameter übergeben new.function()
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 1 [1] 4 [1] 9 [1] 16 [1] 25
Funktion参数,können nach der Reihenfolge der Erstellung der Funktion übergeben werden, können aber auch nicht nach der Reihenfolge übergeben werden, müssen aber Parameternamen angeben:
# Funktion erstellen new.function <- function(a,b,c) { result <- a * b + c print(result) } # Ohne Parametername new.function(5,3,11) # Mit Parametername new.function(a = 11, b = 5, c = 3)
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 26 [1] 58
Funktionen können auch bei der Erstellung der Parameter Standardwerte zugewiesen bekommen, wenn keine Parameter übergeben werden, werden Standardwerte verwendet:
# Erstellen Sie eine Funktion mit Standardwerten new.function <- function(a = 3, b = 6) { result <- a * b print(result) } # Funktion aufrufen, ohne Parameter übergeben, wird der Standardwert verwendet new.function() # Funktion aufrufen, Parameter übergeben new.function(9,5)
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 18 [1] 45
Lazare Berechnung verzögert die Berechnungsarbeit bis das System die Ergebnisse dieser Berechnungen benötigt. Wenn die Ergebnisse nicht benötigt werden, wird nicht berechnet.
Standardmäßig führt die R-Funktion die Parameterberechnung lazily aus, das bedeutet, dass sie nur aufgerufen wird, wenn wir sie berechnen:
f <- function(x) { 10 } f()
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 10
Der obige Code wird ausgeführt und gibt keinen Fehler aus, obwohl wir keine Parameter übergeben haben, da der Parameter x im Funktionskörper nicht verwendet wird, wird er nicht aufgerufen und es wird kein Fehler ausgegeben.
new.function <- function(a, b) { print(a^2) print(a) print(b) # b wird verwendet, aber nicht übergeben, daher wird ein Fehler ausgegeben } # Ein Parameter übergeben new.function(6)
Führen Sie den folgenden Code aus, um das Ausgaberesultat zu erhalten:
[1] 36 [1] 6 Fehler in print(b): Fehlende Parameter "b", keine Standardwerte Aufrufe: new.function -> print Ausführung stoppen