Introduktion till If-uttalande i R

”If” -satsen i R är ett villkorligt uttalande som används för att testa ett eller flera villkor eller generera en tillståndsbaserad utgång. Ett if-uttalande i R kan följas av flera andra ifs och slutligen av det andra uttalandet. Det fungerar i tur och ordning, liksom om ett tillstånd testar positivt på sig själv, då påföljande annars ifs och det andra uttalandet kommer inte att köras. På samma sätt, om något annat ifrån körs, kommer senare annat om uttalanden och annat uttalande inte kommer att köras. Det andra kommer att köras endast om föregående om och annars ifs (om de är närvarande) testar negativt över tillståndet.

Syntax

Syntaxen för if-annars-uttalandet i R är som följer:

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

Syntaxen för if-else if-else-uttalandet i R är som följer:

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

Flödesdiagram

Här är flödesschemat som nämns nedan

Exempel på If-uttalande i R

Förstå om uttalande i R till exempel

If-satsen i R kan användas i olika situationer, och den fungerar med olika typer av data. Vi kommer att försöka implementera det för att förstå hur det fungerar från grundläggande till mest komplexa situationer. Låt oss fortsätta att förstå detta mer detaljerat.

Exempel 1

I det här exemplet kontrollerar vi om ett nummer är delbart med 21 eller inte. Vi skapar en funktion som testar detta delningsvillkor med ifrån annat-uttalandet. Sedan skickar vi numret som ska testas till funktionen.

Följande skärmdump visar funktionen i R som inbäddar if-else för validering av ett delningstest för ett 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 ovanstående kod valideras först ett nummer som skickats in i funktionen mot ett villkor i if-satsen. Så om siffran när delad 21 returnerar noll som återstående kommer koden i if-blocket att skrivas ut som utgången annars utför annars.

Att skicka olika siffror i ovanstående funktion ger resultat som visas nedan:

Exempel 2

I det andra exemplet kommer vi att utöka if-else-slingan till if-else if-else-uttalandet. Här tänker vi kontrollera om ett tal är delbart med både 7 och 9, bara med 7 men inte med 9, bara med 9 men inte med 7, eller med inget av de två siffrorna. Om något villkor är uppfyllt kommer motsvarande kodblock att köras. Det kan finnas flera andra-om uttalanden. Som nämnts tidigare körs kodblocket i annat endast när inget villkor är uppfyllt. Utdata i motsvarande block måste förmedla betydelsen 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.")
)
)

Att skicka olika siffror i den funktion som definieras med hjälp av ovanstående kod genererar output som visas i skärmbilden nedan.

Att skicka olika siffror i den användardefinierade funktionen divide.function () ger resultatet som ovan. Här är fyra typer av siffror möjliga; för det första de som är delbara med både 7 och 9 såsom 63 och 126, för det andra de som är delbara med 7 men inte med 9 såsom 14 och 35, för det tredje de som är delbara med 9 men inte av 7 såsom 18 och 36, och slutligen de som är delbara av inget av de två heltalen, dvs 7 och 9. Det slutliga villkoret utgör del av annars-uttalandet, eftersom alla andra möjliga villkor kontrolleras, i föregående if och annat ifs.

Exempel 3

I det här exemplet kommer vi att kontrollera om ett nummer är ett primtal eller inte. Vilket nummer som bara kan delas av sig själv och ett kallas ett primtal. Det måste emellertid noteras att 1 inte är ett primtal eftersom det inte uppfyller villkoret för att ett nummer ska vara prim, eftersom, i fallet med 1, både siffror, dvs själv och 1 är desamma. Vidare, vad händer om en användare överför ett negativt nummer till funktionen för att kontrollera om det är primärt eller inte? Så alla ovanstående villkor måste beaktas vid implementering av funktionen. Låt oss se hur funktionen ser ut när den implementeras, som visas nedan.

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

  • Ovanstående skärmdump visar den användardefinierade funktionen primecheck.function () i R. Som kan ses använder koden kapslade om-annars för att utföra uppgiften. Låt oss se hur koden fungerar. Funktionen primecheck.function () tar bara en parameter. Ursprungligen är flaggvariabeln inställd på 1. Sedan börjar avsnittet if-else if-else. If-uttalandet kontrollerar, om antalet är större än noll eller inte. Detta är ett mycket viktigt villkor och måste vara det första villkoret.
  • Om inte, genereras lämpligt meddelande av funktionen. Därefter kontrollerar annars-om numret är lika med 1 och säger användaren att 1 inte är ett primtal; orsaken har angetts i föregående avsnitt. Om ingen av de två ovanstående villkoren är uppfylld, körs kodblocket i annat avsnitt. I övrigt försöker vi i princip kontrollera om numret är primärt eller inte genom för slingan.
  • For-loopen delar antalet från 2 till nummer minus 1 intervall med inkrementvariabeln, och i detta intervall är flaggan inställd på noll, vilket betyder att numret inte är ett primtal. Uttalandet om-annars utanför för loop testar ett villkor på flaggan och genererar lämplig utgång.

Funktionen fungerar och ger resultaten som visas i skärmbilden nedan.

Slutsats

Vid R-programmering kan if-annars eller if-else if-annars uttalandet effektivt användas för att arbeta med tillståndsrelaterade aspekter. R-skriptet kanske inte underlättar implementeringen av om uttalanden på samma sätt som andra programmeringsspråk erbjuder. Men om annat kan inbäddas vackert i funktioner för att få alla möjliga resultat.

Rekommenderade artiklar

Detta är en guide till If-uttalande i R. Här diskuterar vi if-annars eller if-else if-annars uttalandet effektivt kan användas för att arbeta med tillståndsrelaterade aspekter. Du kan också titta på följande artiklar för att lära dig mer -

  1. Vad är R-programmeringsspråk?
  2. R-paket
  3. R Datatyper
  4. Om annat uttalande i C
  5. IF-Else-uttalande i Matlab

Kategori: