Uvod v If izjavo v R

Stavek "če" v R je pogojni stavek, ki se uporablja za testiranje stanja (-ov) ali ustvarjanje izhodka na podlagi pogoja. Izjavi if v R lahko sledi več drugih ifs in nazadnje stavek else. Deluje zaporedno, kot na primer, če pogoj preizkusi pozitivno, če sam, potem pozneje še en ifs in stavek se ne bo izvedel. Podobno je, če se kateri koli drug ifs izvrši, nato pa naslednji, če se izjave in stavek stavka ne izvršijo. Ostalo bo izvedeno samo, če prejšnji test if in else ifs (če obstaja) preizkusita negativno nad pogojem.

Sintaksa

Sintaksa stavka if-else v R je naslednja:

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 stavka if-else if-else v R je naslednja:

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

Diagram pretoka

Spodaj je omenjena shema pretoka

Primeri If izjave v R

Razumevanje, če izjava v R skozi primere

Stavek if v R lahko uporabimo v različnih situacijah in deluje z različnimi vrstami podatkov. Poskušali ga bomo izvajati, da bomo razumeli njegovo delovno pravico od osnovnih do najbolj zapletenih situacij. Nadaljujmo, da to podrobneje razumemo.

Primer # 1

V tem primeru bomo preverili, ali je število delljivo z 21 ali ne. Ustvarili bomo funkcijo, ki preizkusi to delitev s pomočjo stavka if-else. Nato bomo številko, ki jo bomo preizkusili, posredovali v funkcijo.

Naslednji posnetek zaslona prikazuje funkcijo v R, ki vdela if-else za preverjanje ločitvenega testa za številko.

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

V zgornji kodi bo številka, prenesena v funkcijo, najprej potrjena glede na pogoj v stavku if. Torej, če število, ko je razdeljeno 21, vrne nič kot preostanek, potem se koda v bloku natisne kot izhod v nasprotnem primeru se izvede.

Prenos različnih števil v zgornji funkciji daje rezultate, kot je prikazano spodaj:

Primer # 2

V drugem primeru bomo zanko if-else razširili na stavek if-else if-else. Tukaj nameravamo preveriti, ali je število delljivo s 7 in 9, samo s 7, ne pa z 9, le s 9, ne pa s 7 ali nobeno od obeh števil. Če je izpolnjen kateri koli pogoj, se izvede ustrezni blok kod. Obstaja lahko več izjav, če so druge. Kot smo že omenili, se kodni blok izvaja drugače, ko ni izpolnjen noben pogoj. Izhodni stavki v ustreznih blokih morajo pravilno prenašati pomen.

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

Prenos različnih števil v funkciji, definirani z zgornjo kodo, ustvari izhod, kot je prikazano na spodnjem posnetku zaslona.

Prenos različnih števil v uporabniško definirani funkciji divide.function () daje rezultat kot zgoraj. Tu so možne štiri vrste številk; najprej deljivi na 7 in 9, kot sta 63 in 126, drugič, deljivi s 7, vendar ne z 9, kot sta 14 in 35, tretjič, deljivi z 9, ne pa s 7, kot sta 18 in 36, in na koncu tisti, ki so deljivi nobenega od obeh celih števil, tj. 7 in 9. Končni pogoj je del stavka drugega, saj so vsi drugi možni pogoji preverjeni v prejšnjem if in else ifs.

Primer # 3

V tem primeru bomo preverili, ali je število prvo število ali ne. Vsako število, ki je samo deljivo samo od sebe in eno, se imenuje prvo število. Vendar je treba opozoriti, da 1 ni prvo število, saj ne izpolnjuje pogoja, da je število prvo, ker v primeru 1 sta obe številki, torej sam in 1, enaki. Nadalje, kaj, če uporabnik v funkcijo prenese negativno številko, da preveri, ali je glavna ali ne? Pri izvajanju funkcije bo torej treba upoštevati vse zgornje pogoje. Poglejmo, kako funkcija izgleda, ko je izvedena, kot je prikazano spodaj.

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

  • Zgornji posnetek zaslona prikazuje uporabniško določeno funkcijo primecheck.function () v R. Kot je razvidno, koda za nalogo uporablja ugnezdeni element if-else. Poglejmo, kako deluje koda. Funkcija primecheck.function () ima samo en parameter. Na začetku je spremenljivka zastavice nastavljena na 1. Nato se začne razdelek if-else if-else. Izjava if preveri, ali je število večje od nič ali ne. To je zelo pomemben pogoj in mora biti prvi pogoj.
  • Če ni, potem funkcija ustvari ustrezno sporočilo. Nato preverite, če je število enako 1, in uporabniku sporoči, da 1 ni prvo število; razlog je naveden v prejšnjem razdelku. Če nobeden od obeh zgornjih pogojev ni izpolnjen, se nato izvrši kodni blok. V nasprotnem primeru zdaj v bistvu poskušamo preveriti, ali je številka glavna ali ne, za zanko.
  • Zanka for deli številko od 2 na številko minus 1 z obsegom spremenljivke in v tem območju, če se razdeli, je zastavica nastavljena na nič, kar pomeni, da število ni prvo število. Stavka if-else za zanko preizkuša stanje na zastavi in ​​ustvari ustrezen izhod.

Funkcija deluje in daje rezultate, kot je prikazano na spodnjem posnetku zaslona.

Zaključek

V programiranju R lahko izraz if-else ali if-else if-else učinkovito uporabimo za delo z vidiki, ki so povezani s pogojem. Skripta R morda ne bo olajšala izvajanja stavkov if, kot jih ponujajo drugi programski jeziki. Če pa je drugače, je mogoče lepo vgraditi funkcije, da dobimo vse možne rezultate.

Priporočeni članki

To je vodnik za If Statement v R. Tukaj razpravljamo o stavku if-else ali if-else if-else, ki se lahko učinkovito uporablja za delo z vidiki, ki so povezani s pogojem. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Kaj je programski jezik R?
  2. R Paketi
  3. R podatkovne vrste
  4. Če-drugače Izjava v C
  5. Izjava IF-Else v Matlabu

Kategorija: