Sajátítsa el a for ciklust az összetett számítások és más ismétlődő műveletek egyszerűsítéséhez.

A ciklusok a programozás alapvető struktúrái, amelyek egy kódblokkot vesznek fel és ismételten futtatják. A for ciklusok egyike azon ciklustípusoknak, amelyeket szinte minden nyelv tartalmaz. Az R for ciklusok az adatok elemzésének szerves részét képezik.

Különféle célokat szolgálnak, a kimenet formázásától a nagy adathalmazokon végzett számításokig. A for ciklusok használata R-ben megkönnyíti az adatelemzés végrehajtását.

R's Basic for Loop

Az R nyelv for ciklusa a szabványhoz hasonlóan működik a Go-ban talált hurkokért és a legtöbb más programozási nyelv. Adott egy kiindulási pont, a benne lévő kódot adott számú alkalommal le fogja futtatni.

Egy számláló tartja azt az iterációt, hogy a ciklus éppen be van kapcsolva, és elérheti a kapcsolódó kódblokkból. A hurkok meghatározott számú iterációra, vagy egy tömb, vektor vagy lista teljes hosszára futhatnak.

Fix iterációs hurkok

A rögzített iterációs hurkok R-ben a következő formában vannak:

instagram viewer
számára (x ban ben1:10) {
nyomtatás (x)
}

A ciklusban lévő x az a változó, amely a ciklus iterációját tárolja.

Az „in” kulcsszó után a ciklus kezdő- és végpontja található. A ciklus az első számmal indítja el iterátorát.

A ciklusban lévő kód minden egyes lefutása után ellenőrzi, hogy az iterátor egyenlő-e a kettőspont utáni számmal.

Ha igen, a kód végrehajtása a ciklus után is folytatódik. Ha nem, az iterátor 1-gyel nő, és a zárójelben lévő kódblokk újra lefut.

A tömbök, listák és vektorok hurkjaihoz

Akárcsak végigpörget egy szótárt Pythonban, iterálhat az R megfelelő adatszerkezetein a for ciklus használatával. Az „in” kulcsszó után bármilyen iterálható adatszerkezetet használhat a rögzített kezdő- és végpont helyett.

Az ilyen módon történő ismétlés megváltoztatja a kód viselkedését. Itt a ciklus úgy fog működni, mint egy foreach ciklus olyan nyelvekből, mint a C#:

alkalmazottak "Ben", "Jane", "Suzi", "Megtréfál", "Ének")

számára (x ban ben alkalmazottak) {
nyomtatás (x)
}

Most ahelyett, hogy x tartaná a ciklus aktuális iterációját, azt az objektumot fogja tartani a tömbből vagy listából, amelyen a ciklus éppen aktív. Minden ciklus befejezése után, ha több elem van a listában, tömbben vagy vektorban, az x a következő elemre lesz állítva. Ha nincs több elem, akkor a végrehajtás a ciklus utáni kóddal folytatódik.

A c primitív függvény és a for Loops

A már feltöltött adatstruktúrákon kívül R létrehozhat egy újat a for ciklus deklarációjában. Ehhez használja a c függvényt, hogy több elemet egy új vektorba vonjon össze.

A fenti példát ezzel a módszerrel egyszerűsítheti:

számára (x ban ben c("Ben", "Jane", "Suzi", "Megtréfál", "Ének")) {
nyomtatás (x)
}

Vegye figyelembe, hogy a kimenet ugyanaz, mint korábban:

R's Jump nyilatkozatok

Két utasítással kihagyhatja a ciklusiterációkat: break és next. Ezt különböző módon valósítják meg. Győződjön meg arról, hogy tudja, mi a különbség a kettő között.

A szünet kulcsszó

Amikor egy ciklus break utasítással találkozik magában, azonnal bezárja a ciklust. Mivel a program kilép a ciklusból, ha eléri a break kulcsszót, nem futja újra a maradék kódot:

nap "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat",
"Vasárnap")

számára (x ban ben napok) {
ha (x == "Szombat") {
szünet
}

nyomtatás (x)
}

A fenti ciklus az összes hétköznapot kinyomtatja, de a hétvégék egyik napját sem.

A következő kulcsszó

A következő kulcsszó is kihagy egy iterációt, de a break-től eltérően a next nem zárja be azonnal a ciklust. A nyitva maradó ciklus azt jelenti, hogy az aktuális cikluson belüli további kódok nem futnak le, de a következő iteráció a tervek szerint folytatódik:

nap "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat",
"Vasárnap")

számára (x ban ben napok) {
ha (x == "Szombat") {
következő
}

nyomtatás (x)
}

Ez a hurok minden hétköznap és vasárnap jelenik meg, de szombaton nem.

Példa hurokra az R-ben

Számos olyan helyzet létezik, amikor a for ciklusok hasznosak az R-ben. Remek módot jelenthetnek ismétlődő számítások futtatására, például számok hozzáadásával, hogy összeget kapjunk:

megrendelések 23.4, 699.8, 1042.0)
összesen 0.0

számára (rendelés ban ben megrendelések) {
összesen }

macska("az összesen $", teljes, "\n")

Ez a példa hozzáad egy rendelés végösszegét minden egyes rendelésből egy listában a teljes végösszeghez.

Alternatív megoldásként a for ciklus segíthet nagy mennyiségű jól formázott adat gyors és egyszerű kimenetében:

day_totals 567.82, 364.72, 762.81, 354.99, 622.87)

számára (nap ban ben1:length (day_totals)) {
macska("# nap", nap, ": $", day_totals[day],"\n")
nap 1
}

A for ciklus segítségével kinyomtathatja a hét minden napját és az adott nap teljes értékesítését.

A for ciklus segítségével kiszámíthatja az eredményeket, és elérhetővé teheti azokat a for cikluson kívüli kód számára, hogy különféle információkat szerezzen:

teszt_pontszámok 67, 89, 72, 44)
score_total 0
tesztek száma 0

számára (pontszám ban ben teszteredmények) {
score_total tesztek száma 1
}

átlagos_pontszám nyomtatás (átlagos_pontszám)

A fenti ciklus kiszámítja a tanulók teszten elért átlagos pontszámát.

Minden, amit az R's for Loops-ról tudni kell

Alapvető fontosságú, hogy megtanuljuk, hogyan futtassunk meghatározott számú hurkot vagy iteráljunk egy adathalmazon, rögzített hosszúság nélkül.

Akár ismételt számításokat kell végrehajtania egy tömbön, ki kell nyomtatnia egy lista minden elemét, vagy nagy mennyiségű adatot kell megjelenítenie olvasható formában, az R for ciklus segíthet.

A for ciklusok mögött rejlő alapelvek megértése értékes készség a fegyvertárban, és ennek elsajátítása segíthet egyszerű, könnyen olvasható kód írásában.