Zvládnite cyklus for na zefektívnenie zložitých výpočtov a iných opakujúcich sa operácií.

Slučky sú základnou štruktúrou v programovaní, ktorá vezme blok kódu a opakovane ho spúšťa. Cykly For sú jedným z typov cyklov, ktoré obsahujú takmer všetky jazyky. Slučky R sú neoddeliteľnou súčasťou analýzy údajov.

Slúžia na rôzne účely, od formátovania výstupu až po spúšťanie výpočtov na veľkých súboroch údajov. Použitie slučiek for v R uľahčuje vykonávanie analýzy údajov.

R’s Basic for Loop

Cyklus for jazyka R funguje podobne ako štandard pre slučky nájdené v Go a väčšina ostatných programovacích jazykov. Vzhľadom na začiatočný bod spustí kód obsiahnutý v ňom daný počet krát.

Počítadlo obsahuje iteráciu, v ktorej je slučka momentálne zapnutá, a môžete k nej pristupovať z priradeného bloku kódu. Slučky môžu bežať pre pevný počet iterácií alebo pre celkovú dĺžku poľa, vektora alebo zoznamu.

Pevné iteračné slučky

Pevné iteračné slučky v R majú nasledujúcu formu:

pre (X v1:10) {
tlačiť (x)
}

X v cykle je premenná, ktorá uloží iteráciu cyklu.

instagram viewer

Za kľúčovým slovom „in“ sú počiatočné a koncové body cyklu. Cyklus začne svoj iterátor na prvom čísle.

Po každom spustení kódu v slučke skontroluje, či sa iterátor rovná číslu za dvojbodkou.

Ak áno, vykonávanie kódu bude pokračovať po slučke. Ak nie, iterátor sa zvýši o 1 a znova sa spustí blok kódu v zátvorkách.

Pre slučky na poliach, zoznamoch a vektoroch

Rovnako ako cyklovanie cez slovník v Pythone, môžete iterovať cez príslušné dátové štruktúry v R pomocou cyklu for. Môžete použiť akúkoľvek iterovateľnú dátovú štruktúru po kľúčovom slove „in“ namiesto pevného počiatočného a koncového bodu.

Slučovanie týmto spôsobom zmení správanie kódu. Tu bude slučka fungovať ako slučka foreach z jazykov ako C#:

zamestnancov "Ben", "Jane", "Suzi", "Josh", "Carol")

pre (X v zamestnanci) {
tlačiť (x)
}

Teraz, namiesto toho, aby x podržalo aktuálnu iteráciu cyklu, bude držať objekt z poľa alebo zoznamu, na ktorom sa cyklus momentálne nachádza. Po dokončení každej slučky, ak je v zozname, poli alebo vektore viac položiek, x sa nastaví na ďalšiu položku. Ak nie sú k dispozícii ďalšie položky, vykonávanie bude pokračovať s kódom po slučke.

Primitívna funkcia c a pre slučky

Okrem už zaplnených dátových štruktúr môže R zostaviť novú v deklarácii cyklu for. Ak to chcete urobiť, použite funkciu c na spojenie viacerých prvkov do nového vektora.

Vyššie uvedený príklad môžete zjednodušiť pomocou tejto metódy:

pre (X v c("Ben", "Jane", "Suzi", "Josh", "Carol")) {
tlačiť (x)
}

Všimnite si, že výstup je rovnaký ako predtým:

R’s Jump Statements

Dva príkazy vám umožňujú preskočiť iterácie cyklu: break a next. Dosahujú to rôznymi spôsobmi. Mali by ste sa uistiť, že poznáte rozdiel medzi týmito dvoma.

Kľúčové slovo prestávky

Keď slučka vo svojom vnútri narazí na príkaz break, okamžite cyklus uzavrie. Keďže program po zadaní kľúčového slova break ukončí cyklus, nespustí znova žiadny zo zostávajúceho kódu:

dní "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota",
"nedeľa")

pre (X v dni) {
ak (x == "sobota") {
prestávka
}

tlačiť (x)
}

Vyššie uvedený cyklus vytlačí všetky pracovné dni, ale ani jeden z víkendových dní.

Ďalšie kľúčové slovo

Ďalšie kľúčové slovo tiež preskočí iteráciu, ale na rozdiel od prestávky, ďalšie neuzavrie slučku okamžite. Slučka, ktorá zostáva otvorená, znamená, že akýkoľvek dodatočný kód v rámci aktuálnej slučky sa nespustí, ale ďalšia iterácia bude pokračovať podľa plánu:

dní "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota",
"nedeľa")

pre (X v dni) {
ak (x == "sobota") {
Ďalšie
}

tlačiť (x)
}

Táto slučka bude mať výstup každý pracovný deň a nedeľu, ale nevytlačí sobotu.

Príklad pre slučky v R

Existuje široká škála situácií, v ktorých sú slučky for užitočné v R. Môžu byť skvelým spôsobom na spustenie opakujúcich sa výpočtov, ako je sčítanie čísel, aby ste získali súčet:

objednávky 23.4, 699.8, 1042.0)
celkom 0.0

pre (objednať v objednávky) {
celkom }

mačka ("celkom je $", Celkom, "\n")

Tento príklad pridá celkový počet objednávok z každej jednotlivej objednávky v zozname k celkovému súčtu.

Alternatívne vám môže slučka for pomôcť rýchlo a jednoducho vytlačiť veľké množstvo dobre naformátovaných údajov:

day_totals 567.82, 364.72, 762.81, 354.99, 622.87)

pre (deň v1:length (day_totals)) {
mačka ("Deň #", deň, ": $", day_totals[day],"\n")
deň 1
}

Na vytlačenie každého dňa v týždni a celkového predaja za daný deň môžete použiť cyklus for.

Slučku for môžete použiť na výpočet výsledkov a ich sprístupnenie pre kód mimo cyklu for, aby ste získali rôzne informácie:

skóre_testov 67, 89, 72, 44)
score_total 0
num_tests 0

pre (skóre v test_scores) {
score_total počet_testov 1
}

priemerné_skóre vytlačiť (priemerné_skóre)

Vyššie uvedená slučka vypočíta priemerné skóre, ktoré študenti dosiahli v teste.

Všetko, čo potrebujete vedieť o R pre slučky

Je nevyhnutné naučiť sa, ako spustiť nastavený počet slučiek alebo iterovať množinu údajov bez pevnej dĺžky.

Či už potrebujete vykonávať opakované výpočty na poli, vytlačiť každú položku v zozname alebo zobraziť veľkú dávku údajov v čitateľnej forme, môže vám pomôcť slučka R.

Pochopenie základných princípov za slučkami for je cenná zručnosť, ktorú musíte mať vo svojom arzenáli, a jej zvládnutie vám môže pomôcť napísať jednoduchý a ľahko čitateľný kód.