Melyek a hurkok az R-ben?

Az R hurkok használják a kód ismételt iterációinak programozásában. Minden modern programozáshoz meg kell ismételni egy utasításblokkot a kódban. Ehhez hurkok állításokat írnak elő n számú alkalommal a kódblokk végrehajtásához a számlálóval, vagy az inkrementációval / csökkentéssel minden iterációs ciklusnál. Például háromszor végre kell hajtania egy műveletet, nem kötelező az utasítások sorozatát írni, ami meghosszabbítja a kód hosszát. A jó forráskódnak nem szabad hosszúnak lennie. Egy hurok használatával ugyanazt a nyilatkozatot írhatja a hurokba, ez minimalizálja az időt, és hatékonyan biztosítja az optimalizálást.

Magyarázza el az R programozás hurkait?

R egy programozási nyelv, amelyet adattudósok, adatbányászok használnak statisztikai elemzéshez és jelentéstételhez. A hurkok fontos fogalom az R. mélyebb megértésének. Hasznos a Monte Carlo módszerek R hurokban történő végrehajtása. Különösen a hurkok számára hasznos, ha a szimulációs részről van szó - például a Markov-láncfolyamat, amely véletlenszerű változók halmazát használja. Az állapottér számos véges hurkot foglal magában az eredetnél. A gépi tanulási modellekben a memória megtakarítása a generátorok segítségével a fő előnye. Ezt úgy végezzük, hogy meghatározzuk egy olyan funkciót, amely hurkolja a meghatározott elemeket. Az adattudományban a kódmásolás hatással van a kódhibákra. Meg kell határozni és eltávolítani az ismétlődő értékeket az adatkészletből. A csökkentésükhöz használt eszköz az iteráció, amely több minta bevitelt hajt végre a különböző adatkészleteknél. Ezért három iterációs paradigmát kell használni: a hurkokhoz, ismételje meg, és míg a hurkokat.

1. Az R hurkokhoz

A hurok sokféle adatszerkezetnél működik, mint például tömbök, mátrix, lista, vektorok. Az For loop alapszintaxisa az R programozásban az alábbiakban található:

Szintaxis:

for ( i in 1:n)
(
Body of the statements
)
Nested For loops
for (i in 1: n)
(
for ( i in 1:n)
(
Body of the statements
)
)

Áramlási diagram a hurokhoz

Az alábbi diagramban a sorozat minden egyes értékére a hurok végrehajtásra kerül. amikor nincs több érték, visszatér a kilépéshez.

Példa:

Itt van egy egyszerű példa a számok kinyomtatására.

for (n in 1:6)
(
print (5 * n)
)

Kimenet:
5
10
15
20
25
30

A páratlan értékek számának a felsorolásához

a <- c (2, 7, 3, 13, 8, 11, 6)
ct <- 0
for (val in a) (
if (! val %% 2 == 0)
ct = ct+1
)
print(ct)

Kimenet:

(1) 4

1. Hurokba beágyazva

Példa:

for (i in 1: 4)
(
for ( j in 1:3)
(
print (i*j)
)
)

Kimenet:

1 2 3 2 4 6 3 6 9 4 8 12

2. Hurok esetén a Lista segítségével

Példa:

Lista létrehozása három vektor segítségével

a <- list ("Sunday", "Monday", c (24, 63, 01), FALSE, 33.9, 12.6)
print (a)

Kimenet:

((1)) (1) „vasárnap”
(2) (1) „hétfő”
((3)) (1) 24 36 1
((4)) (1) hamis
((5)) (1) 33.9
(6) (1) 12.6

3. A Vector használata

x<- 1:6
y<- 1:6
tw <- numeric (length = length(x))
for (i in seq_along(x)) (
tw(i) <- x(i) + y(i) )
tw

Kimenet:

2 4 6 8 10 12

A fenti program három összetevőből áll:

  1. Vektorhossz hozzárendelése (). A hatékonyság fenntartásához elegendő helyet kell elfoglalni. És a vektornak egyfajta adattípusa van.
  2. Másodszor, az a sorrend jön létre, amely meghatározza az egyes elemek indexeit.
  3. A harmadik a kijelentések szövege. Ez a hely, ahol a kód elvégzi a munkáját, minden alkalommal iteratíven fut, eltérő i értékkel.

2. Míg a hurkok R-ben vannak

A kódblokk addig fut, amíg a feltétel hamis (logikai feltétel), amely összehasonlító kifejezést ad.

Szintaxis:

While (test condition)
(
Body of the statement
)

Ábra folyamatábra a while hurokban

Az alábbiakban látható a while-hurok folyamatábrája R-ben.

Példa:

Nos, itt van egy példa a Some loop-ra. A szám négyzetének kiszámításához 3-ig.

i <- 1
while(i<=3)
(
print(i*i)
i=i+1
)

Kimenet:

1
4
9

A fenti példában egyértelmű, hogy az „i” -et kezdetben 1-nek deklarálják, és itt a feltétel (i <3), ellenőrzi a valódi állítást, mivel az 1-nél kevesebb, mint a 3. Az utasítás törzse végrehajtódik, és az I értéke megnövelt. A hurkot addig hajtják végre, amíg a feltétel hamis, és a míg a hurok kilép.

3. Ismételje meg a hurkokat R-ben

Ez a hurok elősegíti ugyanazon kód többszöri végrehajtását, amíg a stop feltétel nem teljesül (break). Az alábbi folyamatábra egyértelmű munkafolyamatot vagy ismételt nyilatkozatot ad. Az elején ismétlődő kulcsszót használ, amelyet a hurokba írt végrehajtható utasítások követnek, és ha az utasítások a kényszer feltételt ábrázolják. És végül, a hurok megszüntetésének egyetlen módja a break utasítások végrehajtása. Ez a hagyományos programozás rövid ideig tartó kulcsszójának alternatívája (annak tükrözése).

Szintaxis:

repeat
(
commands
if (condition expression) (
break))

Folyamatábra

Példa:

Lássunk egy példát az ismételt állítás megértésére

s <- 1
repeat
(
s <- s+3;
print (s);
if (s>10)
break;
)

Kimenet

4
7
10
13

Példa:

s <- 0
repeat (
s = s+1
print(s)
if (s == 4) (
print (" ends");
break
)
)

Kimenet:

1
2
3
4
"véget ér"

Következtetés

Most megértjük az R hurkok alapfogalmait és példáit. Összegezve: a hurkok használata R-ben csökkenti az idõt és a memóriamegtakarítást, és az egyéb vitatott ciklusoknál a hurkok R-ban kissé lassabbak. a hurkot és az R ismétlés használatát megfelelő feltételek mellett be kell fejezni. És amikor a műveletet meg kell ismételni, akkor a hurkot R-ben kell használni. A hurok összes kulcsfontosságú pontjának elolvasása után ügyeljen az R megvalósítására. A hurok teljesítményének javítása érdekében kerülje a hurok használatát az intenzív tárgyakon. A hurkok meglehetősen egyszerűek, de kerülni kell ezeket, és alkalmazni kell a gyorsabb vektorizálási koncepciót.

Ajánlott cikkek

Útmutató volt az R hurkokhoz. Itt megvitattuk az hurkok fogalmát, felhasználását az idő csökkentésére, típusára és példáira. Megtekintheti a következő cikkeket is, ha többet szeretne megtudni -

  1. Hurkok a C ++-ban példákkal
  2. Ruby parancsok
  3. XGBoost algoritmus
  4. Váltás a Matlabban
  5. Bevezetés a Míg a hurokba R
  6. Különböző típusú hurkok és azok előnyei
  7. Hurkok a VBScript-ben példákkal
  8. Különböző típusú hurkok a PowerShell-ben

Kategória: