A hurok számára R - Hogyan működik a hurok R-ben, a példákkal és a szintaxissal együtt

Tartalomjegyzék:

Anonim

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 -

  1. A hurok a Pythonban
  2. C # hurokhoz
  3. Hurkok a Java programozásban
  4. Hurok R
  5. A C hurok számára