Bevezetés a hurokhoz
Az A hurok feltételt végrehajtják annak érdekében, hogy a készlet megismételje önmagát mindaddig, amíg a kívánt feltétel teljesül. A hurok nagyon hasznos abban az esetben, ha az elemek vagy egészek sokaságát iterálni kell. A hurokhoz adatkereten, vektoron vagy bármilyen objektumon keresztül használható. Abban a helyzetben, amikor egy hasonló funkciót ismételten végre kell hajtania, a hurkot használják az erőfeszítés és az idő csökkentésére. Például, ha 100 véletlenszerű számot kell kinyomtatni 1-től 1000-ig, akkor felhasználhatjuk a for-loop feltételt, hogy ezt könnyen elérjük anélkül, hogy a nyomtatási nyilatkozatot 100-szor kellene használni. Ebben a témában a For Loop-ról fogunk tanulni.
A hurok szintaxisához
A for hurok szintaxis R-ben hasonló a python vagy bármely más nyelv szintaxisához. Az alábbiakban az R hurok szintaxisa látható.
Szintaxis:
for (val in sequence) (
Statement
)
A fenti szintaxisban a vektort szekvencia képviseli, és val a vektor értéke a For Loop alatt.
Most nézzük meg a folyamatot, amelyet a hurokállapothoz végezünk folyamatábra segítségével. A sorozat minden elemére a hurok megismétlődik, amíg a kívánt feltétel teljesül. Ellenőrzik az állapotot, és amikor az utolsó elem elérte, a fordító létezik a hurok.
A struktúra az „Init” -ként ábrázolt inicializálásból áll, a rombust, amely döntési doboz, és a téglalap alakú dobozt, amely a hurok teste. Miközben a parancskészletet hurokfeltétel alatt hajtja végre, a fordító csak akkor indítja el a hurkot, amíg a feltételt meg nem határozza. Ha nincs feltétel, akkor a hurok végrehajtása után a következő utasítás kerül végrehajtásra. A sorozat minden elemére a feltétel egyezik. Amíg a feltétel nem felel meg, a hurok újra és újra megy át. Amint az utolsó elem vagy a feltétel teljesül, a fordító létezik a hurokban.
Hogyan működik a hurok R-ben?
Mielőtt megtanulnánk, hogyan működik a For Loop R-ben, nézzük meg, mi az a hurok vagy hurok. A hurok vagy iteráció, amely alapvetően megismételési utasítás, eredetileg hosszú ideje származik. Egyszerűen fogalmazva, ez automatizálja a folyamatot azáltal, hogy bizonyos szükséges funkciókat egy-egy tételben csoportosít. A modern programozási nyelv nagy része beépített hurok funkcióval rendelkezik, amely lehetővé teszi az automatizálás funkciójának felépítését. A hurok funkciók két részre oszthatók: hurkok, amelyek irányítottak és végrehajthatók, a kívánt számú alkalommal a hurokcsalád alá tartoznak. Másrészt a feltételek körén alapuló hurkok a hurokcsalád alá tartoznak.
Ebben a cikkben megvizsgáljuk az R-ben rendelkezésre álló különféle módszereket hurkolás céljából. Az R könyvtárban elérhető funkciókkal tovább vizsgáljuk a különböző hurokpéldákat. Míg az R nyelven dolgozik, mivel a hurkok csak hurkoló körülményeket igényelnek, ritkán lehet szükség más hurok körülményekre, például a. Lássuk, hogy a For hurkot hogyan használják a numerikus értékek iterálására.
# for printing number from 9 to 99 usinf for loop
> for(i in 9:99)(
+ print(i)
+ )
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15
(1) 16
(1) 17
(1) 18
(1) 19
(1) 20
(1) 21
A fenti példában az „i” változót a hurok veszi, és iteráljuk, amíg a feltétel teljesül. Az „i” változó hurokba történő kinyomtatása 9–99 értékű értékeket eredményez. Most nézzük meg egy másik példát karakterekkel.
# for printing and looping items in example vector
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:4)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"
(1) "base"
# In case we don't want the entire loop to be executed
# loop can be stopped with the help of break condition
# In the below example the fourth element will not be printed.
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:3)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"
A fenti példában kinyomtatjuk a kívánt elemeket a példából. Az első példában négy elemet hívunk ki a sorrendben, tehát az összes elem kinyomtatásra került, amikor a nyomtatási nyilatkozat végrehajtásra került. A második példában a szekvenciát a harmadik elemig hívjuk, tehát az első három elem kinyomtatásra kerül.
Másrészt létezik egy ismétlő huroknak nevezett feltétel, amely hasonló funkcióval rendelkezik, mint a hurok. Az ismétlési feltétel azonban a kód folyamatos iterrálására szolgál feltétel-ellenőrzés nélkül.
A felhasználónak meg kell határoznia egy feltételt a hurokon belül, és egy „break” utasítást kell használni a hurokból való kilépéshez. A „break” utasítás használatának elmulasztása végtelen hurkot eredményez.
# illustrating repeat statement to print numbers from 5 to 15
> n <- 5
> repeat
+ (
+ print(n)
+ n = n+1
+ if (n == 16)(
+ break
+ )
+ )
(1) 5
(1) 6
(1) 7
(1) 8
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15
A fenti példában meghatároztuk az n == 16 feltételt, hogy az fordító leállítsa a hurkot, amikor az n == 6 eléri.
Hurok példákhoz
A hurkok bevezetésére az R-ben lehetővé teszi egy példa az elemek vagy elemek kivonására a vektorból.
> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'utah')
>
>
> for (str in states) (
+ print(paste("States in USA: ", str))
+ )
(1) "States in USA: Oregon"
(1) "States in USA: Florida"
(1) "States in USA: Texas"
(1) "States in USA: Lowa"
(1) "States in USA: Nebraska"
(1) "States in USA: utah"
# to illustrate the print operation outside the loop
> print("----prints outside the loop---")
(1) "----prints outside the loop---"
1. lépés
Meghatároztuk a vektor elnevezett állapotokat, amelyek különböző állapotokból állnak
> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'Utah')
2. lépés
A következő lépésben a ciklushoz az állapotvektoron át iterálódik, és megjelenik az állapotok egyedi neve.
> for (str in states) (
+ print(paste("States in USA: ", str))
+ )
Mivel a nyomtatási nyilatkozat a hurok belsejében található, megkapjuk a kívánt eredményeket és az állapotok összes nevét kinyomtatjuk. A következő lépésben egy másik nyomtatási nyilatkozatot használunk a hurkon kívül, amely gyakorlatilag végrehajtódik, ha a for-hurok véget ér.
Most nézzük meg a kód végrehajtása során végzett minden iteráció mögött a logikát.
- Az első iteráció során, State = Oregon, vannak elemek a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A második iteráció során, State = Florida, még négy elem maradt a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A harmadik iteráció során, State = Texas, még három elem maradt a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A negyedik iteráció során, State = Lowa, még két elem marad a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- Az ötödik iteráció során, State = Nebraska, van még egy elem a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A hatodik iteráció során, State = Utah, lehet, hogy elemek maradnak a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A hetedik iteráció során, mivel nincs több elem, amelyet az állapotváltozóhoz hozzárendelni, a fordító kilép a hurokból.
A következő példában nézzük meg a hurok funkciót egész számok esetén.
> num <- c(1:5)
>
> for (i in num) (
+ print(i)
+ )
(1) 1
(1) 2
(1) 3
(1) 4
(1) 5
1. lépés
Meghatároztuk a numer nevű vektort, amely 1-5 egész számból áll
> num <- c(1:5)
2. lépés
A következő lépésben a for hurkot arra használják, hogy a numerikus vektoron át iterálódjanak és megjelenítsék az egyes egész számokat.
> for (i in num) (
+ print(i)
+ )
Mivel a nyomtatási nyilatkozat a hurok belsejében található, megkapjuk a kívánt eredményeket és a numerikus vektor összes egészét kinyomtatjuk.
Most nézzük meg a kód végrehajtása során végzett minden iteráció mögött a logikát.
- Az első iteráció során az „1” elemek maradnak a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A második iteráció során a „2” további három elem maradt a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A harmadik iteráció során a „3” további két elem marad a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A negyedik iteráció során a „4” még mindig marad egy elem a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- Az ötödik „5” iteráció során lehet, hogy maradnak elemek a vektorban. Ezért a nyomtatási nyilatkozatot a hurokban lévő fordító hajtja végre.
- A hatodik iteráció során, mivel a num változóhoz nincs több elem hozzárendelve, a fordító kilép a hurokból.
Következtetés - az R hurok számára
Ebben a cikkben láttuk, hogy hogyan lehet a hurokfeltételeket végrehajtani az R használatával. Az R stúdiót használtuk a fenti műveletek végrehajtására, és az eredmények megjelennek. Láttuk továbbá egy példát az elemek vagy elemek kivonására a vektorból, és az egyes lépések értékelését a cikkben megvizsgáltuk.
Ajánlott cikkek
Ez egy útmutató a For Loop számára R. Itt tárgyaljuk, hogyan működik a hurok R-ben, a megfelelő példákkal és a szintaxissal. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -
- A hurok a Pythonban
- C # hurokhoz
- Hurkok a Java programozásban
- Hurok R
- A C hurok számára