Introducere în Declarația If în R

Instrucțiunea „if” din R este o declarație condițională care este utilizată pentru testarea unei condiții sau generarea unei ieșiri bazate pe condiții. O instrucțiune if în R poate fi urmată de mai mulți ifs și, în final, de instrucțiunea else. Funcționează secvențial, cum ar fi, dacă o condiție testează pozitiv dacă în sine, apoi alte ifs și instrucțiunea else nu se vor executa. În mod similar, dacă se execută oricare altceva, atunci alte instrucțiuni și instrucțiunile altfel nu se vor executa. Celălalt se va executa numai dacă precedentul dacă și dacă altfel (dacă sunt prezente) testează negativ condiția.

Sintaxă

Sintaxa afirmației if-else din R este următoarea:

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

Sintaxa instrucțiunii if-else if-else din R este următoarea:

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

Diagrama fluxului

Aici este menționată diagrama de flux mai jos

Exemple de declarație dacă în R

Înțelegerea dacă enunț în R prin exemple

Instrucțiunea if în R poate fi utilizată în diferite situații și funcționează cu diferite tipuri de date. Vom încerca să-l implementăm pentru a înțelege funcționarea sa, de la situații de bază la cele mai complexe. Să continuăm să înțelegem acest lucru mai detaliat.

Exemplul # 1

În acest exemplu, vom verifica dacă un număr este divizibil cu 21 sau nu. Vom crea o funcție care testează această condiție de diviziune folosind instrucțiunea if-else. Apoi, vom trece numărul care va fi testat în funcție.

Următoarea captură de ecran arată funcția din R care încorporează if-else pentru validarea unui test de divizibilitate pentru un număr.

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

În codul de mai sus, un număr trecut în funcție va fi validat mai întâi cu o condiție din instrucțiunea if. Deci, dacă numărul împărțit 21 returnează zero ca rest, atunci codul în dacă blocul va fi tipărit ca ieșire altfel se va executa.

Trecerea diferitelor numere în funcția de mai sus dă rezultate așa cum se arată mai jos:

Exemplul # 2

În al doilea exemplu, vom extinde bucla if-else la instrucțiunea if-else if-else. Aici, intenționăm să verificăm dacă un număr este divizibil atât cu 7, cât și cu 9, doar cu 7, dar nu cu 9, doar cu 9, dar nu cu 7, sau cu niciunul dintre cele două numere. Dacă se îndeplinește orice condiție, se va executa blocul de cod corespunzător. Poate fi mai multe afirmații dacă sunt. După cum am menționat anterior, blocul de cod din altul se execută numai atunci când nu este îndeplinită nici o condiție. Declarațiile de ieșire din blocurile corespunzătoare trebuie să transmită înțelesul în mod corespunzător.

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

Trecerea diferitelor numere în funcția definită folosind codul de mai sus generează ieșire așa cum se arată în imaginea de mai jos.

Trecerea de numere diferite în funcția definită de utilizator divide.funcția () dă rezultatul ca mai sus. Aici sunt posibile patru tipuri de numere; în primul rând cei divizibili atât cu 7, cât și 9, cum ar fi 63 și 126, în al doilea rând, divizibili cu 7, dar nu cu 9, cum ar fi 14 și 35, în al treilea rând, divizibili cu 9, dar nu cu 7, cum ar fi 18 și 36, și în cele din urmă, care sunt divizibili de niciuna dintre cele două numere întregi, adică 7 și 9. Condiția finală face parte din instrucțiunea else, deoarece toate celelalte condiții posibile sunt verificate, în cazul precedent if și altceva dacă.

Exemplul # 3

În acest exemplu, vom verifica dacă un număr este sau nu un număr prim. Orice număr, care este divizibil numai de la sine și unul, se numește număr prim. Cu toate acestea, trebuie menționat că 1 nu este un număr prim, deoarece nu îndeplinește condiția ca un număr să fie prim, deoarece, în cazul 1, ambele numere adică el însuși și 1 sunt aceleași. Mai mult, ce se întâmplă dacă un utilizator trece un număr negativ în funcție pentru a verifica dacă este prim sau nu? Deci, toate condițiile de mai sus vor trebui să fie luate în considerare în timpul implementării funcției. Să vedem cum arată funcția atunci când este implementată, așa cum se arată mai jos.

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

  • Ecranul de mai sus arată funcția definită de utilizator primecheck.function () în R. După cum se poate vedea, codul folosește cu alte cuiburi pentru a îndeplini sarcina. Să vedem cum funcționează codul. Funcția primecheck.function () are un singur parametru. Inițial, variabila steag este setată la 1. Apoi începe secțiunea if-else if-else. Instrucțiunea if verifică, dacă numărul este mai mare de zero sau nu. Aceasta este o condiție foarte importantă și trebuie să fie prima condiție.
  • Dacă nu, atunci funcția corespunzătoare este generată de funcție. În continuare, dacă altfel - dacă verifică dacă numărul este egal cu 1 și îi spune utilizatorului că 1 nu este un număr prim; motivul a fost dat în secțiunea precedentă. Dacă nu se îndeplinește niciuna dintre cele două condiții de mai sus, atunci se execută blocul de cod din altă secțiune. În altă parte, acum, în mod esențial, încercăm să verificăm dacă numărul este prim sau nu prin loop.
  • Bucla for împarte numărul de la 2 la număr minus 1 interval la variabila de increment, iar în acest interval, dacă este divizat, atunci steagul este setat la zero, ceea ce înseamnă că numărul nu este un număr prim. Instrucțiunea if-else din exterior pentru buclă testează o condiție pe steag și generează o ieșire adecvată.

Funcția funcționează și oferă rezultatele așa cum se arată în imaginea de mai jos.

Concluzie

În programarea R, instrucțiunea if-else sau if-else if-else pot fi utilizate eficient pentru a lucra cu aspecte legate de condiție. Scriptul R poate să nu faciliteze punerea în aplicare a instrucțiunilor if la fel cum oferă alte limbaje de programare. Cu toate acestea, dacă-altfel poate fi încorporat frumos în funcții pentru a obține toate rezultatele posibile.

Articole recomandate

Acesta este un ghid la Declarația If din R. Aici discutăm instrucțiunea if-else sau if-else if-else poate fi eficient utilizată pentru a lucra cu aspecte legate de condiție. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Ce este limbajul de programare R?
  2. Pachete R
  3. R Tipuri de date
  4. În caz contrar, declarația din C
  5. Declarație IF-Else în Matlab

Categorie: