Sissejuhatus Ifi avaldusse R-s

Rühma „if” -lause on tingimuslause, mida kasutatakse tingimuse (tingimuste) testimiseks või tingimuspõhise väljundi genereerimiseks. Ifi lausele R võib järgneda mitu muud if-i ja lõpuks veel üks lause. See toimib järjestikku, näiteks juhul, kui seisund on iseenesest positiivne, siis järgnevad muud juhul, kui muu lause ei käivitu. Samamoodi, kui mõni muu ifs käivitab, siis järgmine teine, kui avaldused ja muu käsk ei käivitu. Muu käivitatakse ainult siis, kui eelmine juhul kui ja kui see on olemas (kui need on olemas), siis on see tingimusel negatiivne.

Süntaks

R-lause lause if-else süntaks on järgmine:

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

R-lause lause if-else if-else süntaks on järgmine:

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

Vooskeem

Allpool on toodud vooskeemi mainimine

Näited Ifi avaldusest R-s

R-lause väite mõistmine näidete kaudu

R-lause if-lause saab kasutada erinevates olukordades ja töötab erinevat tüüpi andmetega. Proovime seda rakendada, et mõista selle toimimist alates põhist kuni kõige keerukamateni. Jätkame selle üksikasjalikuma mõistmisega.

Näide nr 1

Selles näites kontrollime, kas arv jagub arvuga 21 või mitte. Loome funktsiooni, mis testib seda jaotuse tingimust, kasutades käsku if-else. Seejärel anname funktsiooni sisse testitava numbri.

Järgmine ekraanipilt näitab funktsiooni R-s, mis manustab if-else numbri jagatavuse testi valideerimiseks.

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

Ülaltoodud koodi korral kontrollitakse funktsiooni sisestatud number esmalt if-lause tingimuse suhtes. Niisiis, kui jagatud arv 21 naaseb ülejäänud kujul nulliks, siis trükitakse kood if-plokis, kuna väljund vastasel juhul täidetakse.

Ülaltoodud funktsiooni erinevate numbrite läbimisel saadakse järgmised tulemused:

Näide 2

Teises näites laiendame if-loop silmust if-else if-else avaldusele. Siin kavatseme kontrollida, kas arv jagub nii 7 kui ka 9, lihtsalt 7, mitte 9, mitte 9, mitte 7, või ühegi kahe numbri vahel. Kui mõni tingimus on täidetud, käivitatakse vastav koodiplokk. Kui avaldusi on veel teisiti, võib neid olla mitu. Nagu varem mainitud, käivitatakse koodiplokk muus osas ainult siis, kui ükski tingimus pole täidetud. Vastavates plokkides olevad väljundlaused peavad tähendust õigesti edastama.

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

Ülaltoodud koodi abil määratletud funktsioonis erinevate numbrite edastamine genereerib väljundi, nagu on näidatud allolevas ekraanipildis.

Erinevate numbrite läbimine kasutaja määratletud funktsioonis split.function () annab tulemuse, nagu ülaltoodud. Siin on võimalik nelja tüüpi numbreid; esiteks need, mis jagunevad nii 7 kui 9, näiteks 63 ja 126, teiseks, jagatavad 7, kuid mitte 9, nagu 14 ja 35, kolmandaks need, mis jagunevad 9, kuid mitte 7, nagu 18 ja 36, ​​ja lõpuks need, mis jagunevad kumbki kahest täisarvust, st 7 ja 9. Lõplik tingimus moodustab else lause osa, kuna kõiki muid võimalikke tingimusi kontrollitakse eelneval juhul kui ja muidu.

Näide 3

Selles näites kontrollime, kas arv on algarv või mitte. Igasugust arvu, mis on jagatav ainult iseenesest ja ühega, nimetatakse algarvuks. Siiski tuleb märkida, et 1 ei ole algarv, kuna see ei vasta arvu algatuse tingimusele, kuna 1 puhul on mõlemad arvud, st ise ja 1, samad. Mis saab siis, kui kasutaja annab funktsiooni negatiivse arvu, et kontrollida, kas see on peamine või mitte? Seega tuleb funktsiooni rakendamisel arvestada kõigi ülaltoodud tingimustega. Vaatame, kuidas funktsioon selle rakendamisel välja näeb, nagu allpool näidatud.

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

  • Ülaltoodud ekraanipilt näitab kasutaja määratletud funktsiooni primecheck.function () R-is. Nagu näha, kasutab kood ülesande täitmiseks pesasid if-else. Vaatame, kuidas kood töötab. Funktsioon primecheck.function () võtab ainult ühe parameetri. Algselt seatakse lipumuutuja väärtuseks 1. Seejärel algab jaotis if-else if-else. If-lause väidab, kas arv on suurem kui null või mitte. See on väga oluline tingimus ja peab olema esimene tingimus.
  • Kui ei, siis funktsioon genereerib vastava teate. Järgmisena kontrollib else-if, kas arv on 1 ja teatab kasutajale, et 1 ei ole algarv; põhjus on toodud eelmises osas. Kui ükski kahest ülaltoodud tingimusest ei ole täidetud, siis rakendatakse koodiplokk teises jaotises. Teisest küljest proovime nüüd sisuliselt kontrollida, kas arv on silmuse jaoks alge või mitte.
  • For silmus jagab arvu 2-st arvuga miinus 1 vahemik juurdekasvu muutujaga ja selles vahemikus, kui see jaguneb, seatakse lipp nulli, mis tähendab, et arv ei ole algarv. Väljaspool silmust olev if-else avaldus testib lipu seisundit ja genereerib sobiva väljundi.

Funktsioon töötab ja annab tulemused, nagu on näidatud alloleval ekraanipildil.

Järeldus

R-programmeerimisel saab if-else või if-else if-else -lauseid tõhusalt kasutada tingimustega seotud aspektidega töötamiseks. R-skript ei pruugi hõlbustada lausete rakendamist samamoodi, nagu teised programmeerimiskeeled pakuvad. If-else saab aga kõigi võimalike tulemuste saamiseks ilusti funktsioonidesse kinnistada.

Soovitatavad artiklid

See on juhend Ifi avalduse kohta R-s. Siin käsitleme lauset if-else või if-else if-else, mida saab tõhusalt kasutada seisundiga seotud aspektide käsitlemiseks. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Mis on R programmeerimiskeel?
  2. R pakendid
  3. R andmetüübid
  4. If-else avaldus C-s
  5. IF-muu avaldus Matlabis

Kategooria: