Ovládněte cyklus for pro zefektivnění složitých výpočtů a dalších opakujících se operací.

Smyčky jsou základní strukturou v programování, která vezme blok kódu a spouští jej opakovaně. Smyčky For jsou jedním z typů smyček, které obsahují téměř všechny jazyky. Smyčky R pro jsou nedílnou součástí analýzy dat.

Slouží k různým účelům, od formátování výstupu až po provádění výpočtů na velkých souborech dat. Použití cyklů for v R usnadňuje provádění analýzy dat.

R’s Basic for Loop

Cyklus for jazyka R funguje podobně jako standard pro smyčky nalezené v Go a většina dalších programovacích jazyků. Daný počáteční bod spustí kód obsažený v něm daný počet opakování.

Čítač uchovává iteraci, ve které je smyčka aktuálně zapnutá, a můžete k ní přistupovat z přidruženého bloku kódu. Smyčky mohou běžet po pevný počet iterací nebo po celkovou délku pole, vektoru nebo seznamu.

Pevné iterační smyčky

Pevné iterační smyčky v R mají následující podobu:

pro (X v1:10) {
tisknout (x)
}

X v cyklu je proměnná, která uloží iteraci smyčky.

instagram viewer

Za klíčovým slovem „in“ jsou počáteční a koncové body smyčky. Smyčka zahájí svůj iterátor na prvním čísle.

Po každém spuštění kódu v cyklu zkontroluje, zda se iterátor rovná číslu za dvojtečkou.

Pokud ano, provádění kódu bude po smyčce pokračovat. Pokud tomu tak není, iterátor se zvýší o 1 a znovu se spustí blok kódu v závorkách.

Pro smyčky na polích, seznamech a vektorech

Stejně jako procházení slovníkem v Pythonu, můžete iterovat přes příslušné datové struktury v R pomocí cyklu for. Můžete použít libovolnou iterovatelnou datovou strukturu za klíčovým slovem „in“ namísto pevného počátečního a koncového bodu.

Opakování tímto způsobem změní chování kódu. Zde bude smyčka fungovat jako smyčka foreach z jazyků jako C#:

zaměstnanci "ben", "Jane", "Suzi", "Josh", "Koleda")

pro (X v zaměstnanci) {
tisknout (x)
}

Nyní, místo toho, aby x drželo aktuální iteraci cyklu, bude držet objekt z pole nebo seznamu, na kterém je cyklus aktuálně. Po dokončení každé smyčky, pokud je v seznamu, poli nebo vektoru více položek, bude x nastaveno na další položku. Pokud není více položek, bude provádění pokračovat s kódem po smyčce.

Primitivní funkce c a pro smyčky

Kromě již zaplněných datových struktur může R vytvořit novou v deklaraci cyklu for. Chcete-li to provést, použijte funkci c ke spojení více prvků do nového vektoru.

Výše uvedený příklad můžete zjednodušit pomocí této metody:

pro (X v C("ben", "Jane", "Suzi", "Josh", "Koleda")) {
tisknout (x)
}

Všimněte si, že výstup je stejný jako předtím:

R’s Jump Statements

Dva příkazy umožňují přeskočit iterace smyčky: break a next. Dosahují toho různými způsoby. Měli byste se ujistit, že znáte rozdíl mezi těmito dvěma.

Klíčové slovo přestávky

Když smyčka v sobě narazí na příkaz break, okamžitě smyčku uzavře. Protože program opustí smyčku, jakmile narazí na klíčové slovo break, nespustí znovu žádný zbývající kód:

dny "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota",
"Neděle")

pro (X v dny) {
-li (x == "Sobota") {
přestávka
}

tisknout (x)
}

Výše uvedená smyčka vytiskne všechny všední dny, ale žádný z víkendových dnů.

Další klíčové slovo

Další klíčové slovo také přeskočí iteraci, ale na rozdíl od break, next neuzavře smyčku okamžitě. Smyčka, která zůstane otevřená, znamená, že žádný další kód v aktuální smyčce se nespustí, ale další iterace bude pokračovat podle plánu:

dny "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota",
"Neděle")

pro (X v dny) {
-li (x == "Sobota") {
další
}

tisknout (x)
}

Tato smyčka bude vystupovat každý pracovní den a neděli, ale nevytiskne sobotu.

Příklad pro smyčky v R

Existuje celá řada situací, ve kterých jsou smyčky for užitečné v R. Mohou být skvělým způsobem, jak provádět opakované výpočty, jako je sčítání čísel, abyste získali součet:

objednávky 23.4, 699.8, 1042.0)
celkem 0.0

pro (objednat v objednávky) {
celkem }

kočka("celkem je $", celkem, "\n")

Tento příklad přidá celkový počet objednávek z každé jednotlivé objednávky v seznamu k celkovému součtu.

Případně vám smyčka for pomůže rychle a snadno vytisknout velké množství dobře formátovaných dat:

day_totals 567.82, 364.72, 762.81, 354.99, 622.87)

pro (den v1:length (day_totals)) {
kočka("Den #", den, ": $", day_totals[day],"\n")
den 1
}

Pomocí cyklu for můžete vytisknout každý den v týdnu a celkový prodej za daný den.

Smyčku for můžete použít k výpočtu výsledků a zpřístupnit je kódu mimo smyčku for, abyste získali různé informace:

skóre_testů 67, 89, 72, 44)
score_total 0
počet_testů 0

pro (skóre v výsledky testu) {
score_total počet_testů 1
}

průměrné_skóre tisk (průměrné_skóre)

Výše uvedený cyklus vypočítá průměrné skóre, které studenti dosáhli v testu.

Vše, co potřebujete vědět o R pro smyčky

Je nezbytné naučit se spouštět stanovený počet smyček nebo iterovat datovou sadu bez pevné délky.

Ať už potřebujete provádět opakované výpočty na poli, tisknout každou položku v seznamu nebo zobrazit velkou dávku dat v čitelné podobě, může vám pomoci smyčka R's for.

Pochopení základních principů smyček for je cennou dovedností, kterou musíte mít ve svém arzenálu, a její zvládnutí vám může pomoci napsat jednoduchý a snadno čitelný kód.