Einführung in die if-Anweisung in R

Die if-Anweisung in R ist eine bedingte Anweisung, die zum Testen von Bedingungen oder zum Generieren einer bedingungsbasierten Ausgabe verwendet wird. Auf eine if-Anweisung in R können mehrere else ifs und schließlich die else-Anweisung folgen. Es funktioniert sequentiell, wie wenn eine Bedingung positiv auf sich selbst getestet wird, dann werden nachfolgende else ifs und die else-Anweisung nicht ausgeführt. Wenn eines der anderen ifs ausgeführt wird, werden nachfolgende else if-Anweisungen und die else-Anweisung nicht ausgeführt. Das else wird nur ausgeführt, wenn das vorhergehende if und das else ifs (falls vorhanden) die Bedingung negativ testen.

Syntax

Die Syntax der if-else-Anweisung in R lautet wie folgt:

if (condition) (
statement_1 # This statement will execute if the condition is satisfied.
)
else (
statement_2 # This section will execute if the condition is not satisfied.
)

Die Syntax der if-else if-else-Anweisung in R lautet wie folgt:

if (condition_1) (
statement_block_1 # This block will execute if condition 1 is met.
)
else if (condition_2) (
statement_block_2 # This block will execute if condition 2 is met.
)
else (
statement_block_3 # This block will execute if none of the conditions is met.
)

Flussdiagramm

Hier ist das unten erwähnte Flussdiagramm

Beispiele für die if-Anweisung in R

If-Anweisung in R anhand von Beispielen verstehen

Die if-Anweisung in R kann in verschiedenen Situationen verwendet werden und funktioniert mit verschiedenen Datentypen. Wir werden versuchen, es umzusetzen, um seine Funktionsweise von einfachen bis hin zu komplexesten Situationen zu verstehen. Lassen Sie uns dies genauer verstehen.

Beispiel 1

In diesem Beispiel prüfen wir, ob eine Zahl durch 21 teilbar ist oder nicht. Wir erstellen eine Funktion, die diese Teilungsbedingung mit der if-else-Anweisung testet. Dann geben wir die zu testende Nummer an die Funktion weiter.

Der folgende Screenshot zeigt die Funktion in R, die if-else zur Validierung eines Teilbarkeitstests für eine Zahl einbettet.

divide.function <- function(x) (
if (x %% 21 == 0)
(
print(“The number is divisible by 21”)
)
else (
print(“The number is not divisible by 21”)
)
)

Im obigen Code wird eine an die Funktion übergebene Zahl zunächst anhand einer Bedingung in der if-Anweisung überprüft. Wenn also die geteilte Zahl 21 als Rest Null zurückgibt, wird der Code in if-Block als Ausgabe gedruckt, andernfalls wird ausgeführt.

Wenn Sie in der obigen Funktion verschiedene Zahlen eingeben, erhalten Sie die folgenden Ergebnisse:

Beispiel # 2

Im zweiten Beispiel erweitern wir die if-else-Schleife auf die if-else if-else-Anweisung. Hier wollen wir überprüfen, ob eine Zahl sowohl durch 7 als auch durch 9 teilbar ist, nur durch 7, aber nicht durch 9, nur durch 9, aber nicht durch 7, oder durch keine der beiden Zahlen. Wenn eine Bedingung erfüllt ist, wird der entsprechende Codeblock ausgeführt. Es kann mehrere else-if-Anweisungen geben. Wie bereits erwähnt, wird der Codeblock in else nur ausgeführt, wenn keine Bedingung erfüllt ist. Ausgabeanweisungen in entsprechenden Blöcken müssen die Bedeutung richtig vermitteln.

divide.function <- function(x) (
if (x %% 7 == 0 && x %% 9 == 0)
(
print("The number is divisible by both 7 and 9.")
)
else if (x %% 7 == 0) (
print("The number is divisible by 7 but not by 9.")
)
else if (x %% 9 == 0) (
print("The number is divisible by 9 but not by 7.")
)
else (
print("The number is divisible neither by 7 nor by 9.")
)
)

Wenn Sie in der mit dem obigen Code definierten Funktion verschiedene Nummern übergeben, wird die Ausgabe wie im folgenden Screenshot gezeigt generiert.

Wenn Sie in der benutzerdefinierten Funktion divide.function () verschiedene Zahlen übergeben, erhalten Sie das obige Ergebnis. Hier sind vier Arten von Zahlen möglich; erstens solche, die sowohl durch 7 als auch durch 9 teilbar sind, wie 63 und 126, zweitens solche, die durch 7, aber nicht durch 9, wie 14 und 35, drittens solche, die durch 9, aber nicht durch 7, wie 18 und 36, und schließlich solche, die teilbar sind durch keine der beiden ganzen Zahlen, dh 7 und 9. Die Endbedingung bildet den Teil der else-Anweisung, da im vorhergehenden if und else ifs alle anderen möglichen Bedingungen geprüft werden.

Beispiel # 3

In diesem Beispiel prüfen wir, ob eine Zahl eine Primzahl ist oder nicht. Jede Zahl, die nur für sich und eine teilbar ist, wird als Primzahl bezeichnet. Es ist jedoch zu beachten, dass 1 keine Primzahl ist, da es nicht die Bedingung für eine Primzahl erfüllt, da im Fall von 1 beide Zahlen, dh sich selbst und 1, gleich sind. Was ist ferner, wenn ein Benutzer eine negative Zahl an die Funktion übergibt, um zu prüfen, ob es sich um eine Primzahl handelt oder nicht? Daher müssen alle oben genannten Bedingungen bei der Implementierung der Funktion berücksichtigt werden. Sehen wir uns an, wie die Funktion bei ihrer Implementierung aussieht, wie unten gezeigt.

primecheck.function <- function(x) (
flag <- 1
if (x <= 0)
(
print("Number must be greater than zero.")
)
else if (x == 1)
(
print("1 is not a prime number.")
)
else
(
for (i in 3:x-1)
(
if (x %% i == 0)
(
flag <- 0
)
)
if (flag == 0)
(
paste(x, "is not a prime number.")
)
else
(
paste(x, "is a prime number.")
)
)
)

  • Der obige Screenshot zeigt die benutzerdefinierte Funktion primecheck.function () in R. Wie zu sehen ist, verwendet der Code geschachtelte if-else, um die Aufgabe auszuführen. Mal sehen, wie der Code funktioniert. Die Funktion primecheck.function () akzeptiert nur einen Parameter. Anfangs wird die Flag-Variable auf 1 gesetzt. Dann beginnt der Abschnitt if-else if-else. Die if-Anweisung prüft, ob die Zahl größer als Null ist oder nicht. Dies ist eine sehr wichtige Bedingung und muss die erste sein.
  • Wenn nicht, wird die entsprechende Nachricht von der Funktion generiert. Als nächstes prüft das else-if, ob die Zahl gleich 1 ist und teilt dem Benutzer mit, dass 1 keine Primzahl ist; Der Grund wurde im vorhergehenden Abschnitt angegeben. Wenn keine der beiden oben genannten Bedingungen erfüllt ist, wird der Codeblock im Abschnitt else ausgeführt. Ansonsten versuchen wir jetzt im Wesentlichen zu überprüfen, ob die Zahl eine Primzahl ist oder nicht.
  • Die for-Schleife teilt die Zahl durch die Inkrementvariable von 2 bis Zahl minus 1, und in diesem Bereich wird das Flag auf Null gesetzt, wenn es geteilt wird, was bedeutet, dass die Zahl keine Primzahl ist. Die if-else-Anweisung außerhalb der for-Schleife testet eine Bedingung für das Flag und generiert die entsprechende Ausgabe.

Die Funktion funktioniert und liefert die Ergebnisse wie im folgenden Screenshot gezeigt.

Fazit

In der R-Programmierung kann die if-else- oder if-else if-else-Anweisung effektiv verwendet werden, um mit bedingungsbezogenen Aspekten zu arbeiten. Das R-Skript erleichtert möglicherweise nicht die Implementierung von if-Anweisungen auf die gleiche Weise wie andere Programmiersprachen. If-else kann jedoch wunderbar in Funktionen eingebettet werden, um alle möglichen Ergebnisse zu erzielen.

Empfohlene Artikel

Dies ist eine Anleitung zur If-Anweisung in R. Hier diskutieren wir die if-else- oder if-else-if-else-Anweisung, die effektiv zum Arbeiten mit bedingungsbezogenen Aspekten verwendet werden kann. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Was ist die Programmiersprache R?
  2. R-Pakete
  3. R Datentypen
  4. If-else-Anweisung in C
  5. IF-Else-Anweisung in Matlab

Kategorie: