Bevezetés az If nyilatkozatba R
Az R-ben szereplő „if” utasítás egy feltételes utasítás, amelyet egy feltétel (ek) tesztelésére vagy feltétel-alapú kimenet előállítására használnak. Az R-ben szereplő if-állítást több más if-érték követheti, és végül az else-állítás. Szekvenciálisan működik, mint például akkor, ha egy feltétel pozitív teszteket mutat, ha önmagában van, akkor a későbbi ifs és a else utasítás nem fog végrehajtódni. Hasonlóképpen, ha valamelyik másik végrehajtja, akkor az azt követő másikat, ha az utasítások és az egyéb utasítás nem fog végrehajtódni. A másik csak akkor hajtódik végre, ha az előző ha és más esetben ha (ha vannak), negatív teszttel jár a feltétel felett.
Szintaxis
Az if-else állítás szintaxisa az R-ben a következő:
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.
)
Az R-ben szereplő if-else if-else utasítás szintaxisa a következő:
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.
)
Folyamatábra
Itt található az alábbiakban említett folyamatábra
Példák az If nyilatkozatra az R - ben
Annak megértése, hogy az állítás R-ben példák segítségével történik-e
Az R-ben szereplő if állítás különféle helyzetekben használható, és különféle típusú adatokkal működik. Megpróbáljuk megvalósítani annak érdekében, hogy megértsük a működését az alapoktól a legbonyolultabb helyzetekig. Folytassuk ennek megértését részletesebben.
1. példa
Ebben a példában ellenőrizni fogjuk, hogy egy szám osztható-e 21-gyel, vagy sem. Létrehozunk egy olyan funkciót, amely tesztelni fogja ezt a megosztási feltételt az if-else utasítás használatával. Ezután átadjuk a tesztelni kívánt számot a függvénynek.
Az alábbi képernyőkép azt az R funkciót mutatja be, amely beágyazza az if-else funkciót egy szám oszthatósági tesztjének validálására.
divide.function <- function(x) (
if (x %% 21 == 0)
(
print(“The number is divisible by 21”)
)
else (
print(“The number is not divisible by 21”)
)
)
A fenti kódban a függvénybe átadott számot először az if utasításban szereplő feltételekkel érvényesítjük. Tehát, ha a 21-el osztva a szám nulla marad, akkor az if blokkban lévő kódot kinyomtatják, mivel a kimenet egyébként végrehajtódik.
A fenti függvény különböző számának átadása az alábbiak szerint jár:
2. példa
A második példában az if-else hurkot kiterjesztjük az if-else if-else utasításra. Itt azt szeretnénk ellenőrizni, hogy egy szám osztható-e mind a 7-rel, mind a 9-vel, csak a 7-gyel, de nem-e a 9-vel, csak a 9-vel, de nem a 7-vel, vagy a két szám egyikével sem osztható meg. Ha bármelyik feltétel teljesül, akkor a megfelelő kódblokk végrehajtódik. Lehet, hogy több más, ha kijelentés is van. Mint korábban már említettük, a kimeneti kódblokk csak akkor hajtódik végre, ha egyik feltétel sem teljesül. A megfelelő mondatokban szereplő kimeneti nyilatkozatoknak megfelelően át kell mutatniuk a jelentést.
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.")
)
)
Ha a fenti kóddal definiált függvényben különböző számokat ad át, akkor az alábbi képernyőképen látható kimenetet generál.
Különböző számok átadása a felhasználó által definiált split.function () függvényben () a fenti eredményt adja. Itt négyféle szám lehetséges; egyrészt azok, amelyek oszthatók mind a 7, mind a 9, mint például a 63 és a 126, másodszor, amelyek oszthatók a 7, de nem a 9, mint például a 14 és 35, harmadszor azok, amelyek oszthatók a 9-kel, de nem a 7-rel, mint a 18 és 36, és végül azok, amelyek oszthatók a két egész szám egyikével, azaz a 7-gyel és a 9-gyel. A végsõ feltétel a else állítás részét képezi, mivel az összes többi feltételt ellenõrizzük, az elõzõ if és else if-ban.
3. példa
Ebben a példában megvizsgáljuk, hogy egy szám prímszám-e vagy sem. Bármely számot, amely csak önmagában és egyben osztható el, prímszámnak nevezzük. Meg kell azonban jegyezni, hogy 1 nem prímszám, mivel nem felel meg a szám prímszámának feltételének, mivel 1 esetén mindkét szám, azaz maga és 1 azonos. Továbbá, mi van, ha a felhasználó negatív számot ad át a függvényhez, hogy ellenőrizze, hogy elsődleges-e vagy sem? Tehát a funkció végrehajtása során figyelembe kell venni a fenti feltételeket. Lássuk, hogyan néz ki a funkció a megvalósításkor, az alább látható módon.
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.")
)
)
)
- A fenti képernyőképe a felhasználó által definiált primecheck.function () függvényt ábrázolja R-ben. Amint látható, a kód a beágyazott if-else funkciót használja a feladat végrehajtásához. Lássuk, hogyan működik a kód. A primecheck.function () függvény csak egy paramétert vesz fel. A jelző változóját kezdetben 1-re állítják. Ezután elindul az if-else if-else szakasz. Az if utasítás ellenőrzi, hogy a szám nullánál nagyobb-e vagy sem. Ez egy nagyon fontos feltétel, és ennek kell lennie az első feltételnek.
- Ha nem, akkor a függvény generálja a megfelelő üzenetet. Ezután a else-if ellenőrzi, hogy a szám egyenlő-e az 1-gyel, és megmondja a felhasználónak, hogy az 1 nem prímszám; az ok az előző szakaszban található. Ha a fenti két feltétel egyike sem teljesül, akkor a else szakaszban a kódblokk végrehajtódik. Máskülönben most lényegében megpróbáljuk ellenőrizni, hogy a szám elsődleges-e vagy sem a hurok végén.
- A for hurok osztja a számot 2-ből a mínusz 1 tartományba a növekményes változóval, és ebben a tartományban, ha megoszlik, akkor a zászlót nullára állítják, ami azt jelenti, hogy a szám nem prímszám. A hurokon kívüli if-else nyilatkozat tesztel egy feltételt a zászlón, és megfelelő kimenetet generál.
A funkció működik, és az alábbi képernyőképeken látható eredményeket adja.
Következtetés
Az R programozás során az if-else vagy if-else if-else utasítás használható hatékonyan a feltételhez kapcsolódó szempontok kezelésére. Előfordulhat, hogy az R szkript nem segíti elő az utasítások végrehajtását, mint ahogy más programozási nyelvek kínálnak. Az if-else azonban szépen beágyazható a funkciókba az összes lehetséges eredmény elérése érdekében.
Ajánlott cikkek
Ez egy útmutató az If állításhoz R.-ban. Itt tárgyaljuk az if-else vagy if-else, ha-else állítást, amely hatékonyan használható a feltételhez kapcsolódó szempontok kezelésére. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -
- Mi az R programozási nyelv?
- R csomagok
- R adattípusok
- If-else nyilatkozat C
- IF-Egyéb nyilatkozat a Matlab-ban