Introduktion til If-erklæring i R

Sætningen "if" i R er en betinget sætning, der bruges til at teste en eller flere betingelser eller generere en tilstandsbaseret output. En if-sætning i R kan følges af flere ellers ifs og til sidst af den anden sætning. Det fungerer sekventielt, ligesom, hvis en tilstand tester positivt på sig selv, så efterfølgende ellers hvis og den anden erklæring ikke udføres. Tilsvarende, hvis nogen af ​​andre ifs udføres, derefter efterfølgende ellers hvis udsagn og den anden erklæring ikke udføres. Det andet udføres kun, hvis de foregående hvis og ellers hvis (hvis de er til stede) tester negativt over tilstanden.

Syntaks

Syntaksen for if-else-erklæringen i R er som følger:

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

Syntaks for if-else hvis-andet-sætningen i R er som følger:

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

Flowdiagram

Her er flowdiagrammet nævnt nedenfor

Eksempler på If-erklæring i R

Forstå, hvis udsagn i R gennem eksempler

If-sætningen i R kan bruges i forskellige situationer, og den fungerer med forskellige typer data. Vi vil prøve at implementere det for at forstå dets arbejde lige fra basale til mest komplekse situationer. Lad os fortsætte med at forstå dette mere detaljeret.

Eksempel 1

I dette eksempel tjekker vi, om et tal kan deles med 21 eller ikke. Vi opretter en funktion, der tester denne delingsbetingelse ved hjælp af if-else-sætningen. Derefter passerer vi det nummer, der skal testes, til funktionen.

Det følgende skærmbillede viser funktionen i R, der integrerer if-else til validering af en delbarhedstest for et nummer.

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

I ovenstående kode valideres først et nummer, der er overført til funktionen, mod en betingelse i if-sætningen. Så hvis tallet når delt 21 returnerer nul som resten, udskrives koden i hvis blokken som output, ellers udføres ellers.

At passere forskellige numre i ovenstående funktion giver resultater som vist nedenfor:

Eksempel 2

I det andet eksempel vil vi udvide if-else-loopen til if-else if-else-sætningen. Her har vi til hensigt at kontrollere, om et tal kan deles med både 7 og 9, bare med 7 men ikke med 9, bare med 9, men ikke med 7, eller af intet af de to tal. Hvis nogen betingelse er opfyldt, udføres den tilsvarende kodeblok. Der kan være flere udsagn ellers-hvis. Som nævnt tidligere udføres kodeblokken i ellers kun, når ingen betingelse er opfyldt. Output-udsagn i tilsvarende blokke skal formidle betydningen korrekt.

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

At videregive forskellige numre i den funktion, der er defineret ved hjælp af ovenstående kode, genererer output som vist i nedenstående skærmbillede.

At videregive forskellige numre i den brugerdefinerede funktion divide.function () giver resultatet som ovenfor. Her er fire typer numre mulige; for det første de, der kan deles med både 7 og 9, såsom 63 og 126, for det andet dem, der kan deles med 7, men ikke med 9, såsom 14 og 35, for det tredje de, der kan deles med 9, men ikke af 7, såsom 18 og 36, og til sidst dem, der er delelige. af ingen af ​​de to heltal, dvs. 7 og 9. Den endelige betingelse udgør andelen af ​​erklæringen, da alle andre mulige betingelser kontrolleres i det foregående, hvis og ellers hvis.

Eksempel 3

I dette eksempel vil vi kontrollere, om et tal er et primtal eller ej. Ethvert tal, der kun kan deles af sig selv og et, kaldes et primtal. Det skal dog bemærkes, at 1 ikke er et primtal, da det ikke opfylder betingelsen for, at et tal skal være primat, fordi i tilfælde af 1 er begge tal dvs. sig selv og 1 det samme. Hvad nu, hvis en bruger overfører et negativt tal til funktionen for at kontrollere, om det er primært eller ej? Så alle ovennævnte betingelser skal tages i betragtning, mens funktionen implementeres. Lad os se, hvordan funktionen ser ud, når den implementeres, som vist nedenfor.

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

  • Ovenstående skærmbillede viser den brugerdefinerede funktion primecheck.function () i R. Som det kan ses, bruger koden indlejret hvis-ellers til at udføre opgaven. Lad os se, hvordan koden fungerer. Funktionen primecheck.function () tager kun en parameter. Oprindeligt er flagvariablen indstillet til 1. Derefter begynder sektionen if-else hvis-andet. If-sætningen kontrollerer, om antallet er større end nul eller ikke. Dette er en meget vigtig betingelse og skal være den første betingelse.
  • Hvis ikke, genereres den relevante meddelelse af funktionen. Dernæst kontrollerer den anden, hvis nummeret er lig med 1 og fortæller brugeren, at 1 ikke er et primtal. årsagen er angivet i det foregående afsnit. Hvis ingen af ​​de to ovennævnte betingelser er opfyldt, udføres kodeblokken i andet afsnit. Ellers prøver vi i det væsentlige at kontrollere, om antallet er primært eller ikke igennem for loop.
  • For-loop dividerer antallet fra 2 til nummer minus 1 interval med stigningsvariablen, og i dette interval, hvis det bliver delt, indstilles flaget til nul, hvilket betyder, at tallet ikke er et primtal. Uddraget om ellers uden for loop tester en betingelse på flaget og genererer passende output.

Funktionen fungerer og giver resultaterne som vist i nedenstående skærmbillede.

Konklusion

I R-programmering kan if-else- eller if-else-hvis-andet-sætningen effektivt bruges til at arbejde med tilstandsrelaterede aspekter. R-scriptet muliggør muligvis ikke implementeringen af ​​hvis udsagn på samme måde som andre programmeringssprog tilbyder. Imidlertid kan hvis-andet integreres smukt i funktioner for at opnå alle mulige resultater.

Anbefalede artikler

Dette er en guide til If-erklæring i R. Her diskuterer vi hvis-ellers eller hvis-ellers hvis-ellers udsagn effektivt kan bruges til at arbejde med tilstandsrelaterede aspekter. Du kan også se på de følgende artikler for at lære mere -

  1. Hvad er R-programmeringssprog?
  2. R-pakker
  3. R Datatyper
  4. Hvis-andet erklæring i C
  5. IF-Else-erklæring i Matlab

Kategori: