Uvod u If Izjavu u R

Izjava "ako" u R je uvjetna izjava koja se koristi za testiranje uvjeta ili generacije ili generiranje izlaza temeljenog na uvjetu. Izjava if u slučaju R može pratiti više drugih ifs, a na kraju i naredbu stavka. Djeluje uzastopno, primjerice, ako se uvjet testira pozitivno ako sam, a zatim naredni ifs i naredba se ne izvršavaju. Slično tome, ako se izvršava bilo koji drugi ifs, zatim slijedi if, a zatim naredbe i naredba se ne izvršavaju. Ostalo će se izvršiti samo ako prethodni test if (i ako ifs) (ako postoje) testira negativno na stanje.

Sintaksa

Sintaksa izjave if-else u R je sljedeća:

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

Sintaksa izjave if-else if-else u R je sljedeća:

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

Dijagram toka

Evo dolje navedenog dijagrama toka

Primjeri ako Izjava u R

Razumijevanje ako je izjava u R kroz primjere

Izjava if u R može se koristiti u različitim situacijama, a djeluje s različitim vrstama podataka. Pokušat ćemo ga implementirati kako bismo razumjeli njegovo radno pravo od osnovnih do najsloženijih situacija. Krenimo da razumemo ovo detaljnije.

Primjer 1

U ovom ćemo primjeru provjeriti je li broj djeljiv sa 21 ili ne. Izradit ćemo funkciju koja testira ovo stanje podjele pomoću naredbe if-else. Zatim ćemo broj koji se testira prenijeti u funkciju.

Sljedeća snimka zaslona prikazuje funkciju u R koja ugrađuje if-else za provjeru testa djeljivosti za broj.

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

U gornjem kôdu, broj prosljeđen u funkciju prvo će se provjeriti prema stanju u izrazu if. Dakle, ako broj podjeljen 21 vraća nulu kao ostatak, tada će se kod u bloku ispisati kao izlaz inače će se izvršiti.

Slanje različitih brojeva u gornjoj funkciji daje rezultate kao što je prikazano u nastavku:

Primjer 2

U drugom ćemo primjeru proširiti petlju if-else na naredbu if-else if-else. Ovdje namjeravamo provjeriti je li broj djeljiv sa 7 i 9, samo sa 7, ali ne sa 9, samo sa 9, ali ne sa 7, ili nijedan od dva broja. Ako je ispunjen bilo koji uvjet, izvršit će se odgovarajući blok koda. Može biti više drugih izjava ako. Kao što je ranije spomenuto, blok koda u else se izvršava samo kad nije ispunjen nijedan uvjet. Izlazni izvodi u odgovarajućim blokovima moraju ispravno prenositi značenje.

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

Prolaskom različitih brojeva u funkciji definiranoj pomoću gornjeg koda nastaje izlaz kao što je prikazano na snimci zaslona.

Slanje različitih brojeva u korisnički definiranu funkciju divide.function () daje rezultat kao gore. Ovdje su moguće četiri vrste brojeva; prvo one koje su djeljive sa 7 i 9 kao što su 63 i 126, drugo one koje su djeljive sa 7, ali ne sa 9, poput 14 i 35, treće one koje su djeljive sa 9, ali ne sa 7, kao što su 18 i 36, i na kraju one koje su djeljive Niti jedan od dva cjelobrojna broja, tj. 7 i 9. Konačni uvjet čini dio stavka naredbe jer su svi drugi mogući uvjeti provjereni u prethodnom slučaju if i else ifs.

Primjer 3

U ovom ćemo primjeru provjeriti je li broj glavni broj ili ne. Bilo koji broj, koji je djeljiv samo na sebe i jedan, naziva se primarnim brojem. Međutim, mora se napomenuti da 1 nije primarni broj jer ne zadovoljava uvjet da je broj jednostavan, jer u slučaju 1, i broj i sam i 1 su isti. Nadalje, što ako korisnik prebaci negativan broj u funkciju da provjeri je li glavni ili ne? Dakle, svi gornji uvjeti morat će se uzeti u obzir tijekom provođenja funkcije. Pogledajmo kako funkcija izgleda kada se provodi, kao što je prikazano u nastavku.

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

  • Gornja snimka zaslona prikazuje korisnički definiranu funkciju primecheck.function () u R. Kao što se može vidjeti, kôd koristi ugniježđeni if-else za obavljanje zadatka. Pogledajmo kako kod radi. Funkcija primecheck.function () uzima samo jedan parametar. U početku je varijabla zastave postavljena na 1. Tada započinje odjeljak if-else if-else. Izjava if provjerava je li broj veći od nule ili ne. To je vrlo važan uvjet i treba biti prvi uvjet.
  • Ako nije, tada funkcija generira odgovarajuću poruku. Zatim, else-if provjerava je li broj jednak 1 i govori korisniku da 1 nije primarni broj; razlog je naveden u prethodnom odjeljku. Ako nijedan od gore navedena dva uvjeta nije ispunjen, tada se izvršava blok koda u odjeljku else. Inače, sada mi u stvari pokušavamo provjeriti je li broj prazan ili nije pretjeran za petlju.
  • Petlja for dijeli broj od 2 na broj minus 1 rasponom varijablama prirasta, a u ovom rasponu, ako se podijeli, zastava je postavljena na nulu, što znači da broj nije premostivi broj. Izjava if-else izvan petlje testira stanje na zastavi i generira odgovarajući izlaz.

Funkcija radi i daje rezultate kao što je prikazano na snimci zaslona u nastavku.

Zaključak

U R programiranju, izjava if-else ili if-else if-else može se učinkovito koristiti za rad s aspektima koji se odnose na stanje. R skripta možda neće olakšati implementaciju ako izjave na isti način kao što to nude drugi programski jezici. Međutim, ako-else može se lijepo uklopiti u funkcije za dobivanje svih mogućih rezultata.

Preporučeni članci

Ovo je vodič za If Statement u R. Ovdje smo raspravljali ako se izjava if-else ili if-else ako-else može učinkovito koristiti za rad sa aspektima koji se odnose na stanje. Možete također pogledati sljedeće članke da biste saznali više -

  1. Što je programski jezik R?
  2. R Paketi
  3. R Vrste podataka
  4. If-else Izjava u C
  5. IF-Else izjava u Matlabu

Kategorija: