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.
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.0pro (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ů 0pro (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.