logo

Pro smyčku v R

Pro smyčku Programovací jazyk R je užitečné pro iteraci prvků seznamu, datového rámce, vektoru, matice , nebo jakýkoli jiný předmět. To znamená, že cyklus for lze použít k opakovanému provádění skupiny příkazů v závislosti na počtu prvků v objektu. Jde o smyčku řízenou vstupem, v této smyčce se nejprve otestuje testovací podmínka, poté se provede tělo smyčky, tělo smyčky by se neprovedlo, pokud je testovací podmínka nepravdivá.

Smyčka For v syntaxi R:

for (var in vector) { statement(s) }>

Zde var přebírá každou hodnotu vektoru během cyklu. V každé iteraci jsou výroky vyhodnoceny.



Vývojový diagram smyčky For v R:

Smyčka For v RGeeksforgeeks

Pro smyčku v R

Iterace v rozsahu ve smyčce R – For

R








# R Program to demonstrate> # the use of for loop> for>(i>in> 1: 4)> {> >print>(i ^ 2)> }>

>

>

Výstup:

[1] 1 [1] 4 [1] 9 [1] 16>

Ve výše uvedeném příkladu jsme iterovali v rozsahu 1 až 4, což byl náš vektor. Nyní může existovat několik variant této obecné smyčky for. Místo posloupnosti 1:5 můžeme použít i funkci zřetězení.

Použití funkce zřetězení ve smyčce R – For

R




# R Program to demonstrate the use of> # for loop along with concatenate> for>(i>in> c>(-8, 9, 11, 45))> {> >print>(i)> }>

>

>

Výstup:

[1] -8 [1] 9 [1] 11 [1] 45>

Místo psaní našeho vektoru do smyčky jej můžeme také předem definovat.

Použití zřetězení mimo smyčku R – smyčka For

R




# R Program to demonstrate the use of> # for loop with vector> x <->c>(-8, 9, 11, 45)> for>(i>in> x)> {> >print>(i)> }>

>

>

Výstup:

[1] -8 [1] 9 [1] 11 [1] 45>

Vnořená smyčka For v R

Programovací jazyk R umožňuje použití jedné smyčky uvnitř jiné smyčky. Při vnoření smyček můžeme vložit jakýkoli typ smyčky do jakéhokoli jiného typu smyčky. Například smyčka for může být uvnitř smyčky while nebo naopak. Následující část ukazuje příklad pro ilustraci konceptu:

Příklad:

R




# R Program to demonstrate the use of> # nested for loop> for>(i>in> 1:3)> {> >for>(j>in> 1:i)> >{> >print>(i * j)> >}> }>

>

>

Výstup:

[1] 1 [1] 2 [1] 4 [1] 3 [1] 6 [1] 9>

Skokové příkazy v R

Příkaz skoku v cyklech používáme k ukončení cyklu v určité iteraci nebo k přeskočení určité iterace v cyklu. Dva nejčastěji používané příkazy skoku v cyklech jsou:

Prohlášení o přerušení:

Příkaz break je příkaz skoku, který se používá k ukončení cyklu v konkrétní iteraci. Program pak pokračuje dalším příkazem mimo smyčku (pokud existuje).

Příklad:

R




# R Program to demonstrate the use of> # break in for loop> for>(i>in> c>(3, 6, 23, 19, 0, 21))> {> >if>(i == 0)> >{> >break> >}> >print>(i)> }> print>(>'Outside Loop'>)>

>

>

Výstup:

[1] 3 [1] 6 [1] 23 [1] 19 [1] Outside loop>

Zde smyčka opustí, jakmile je nalezena nula.

Další prohlášení

Přeruší konkrétní iteraci a přeskočí na další iteraci. Takže když se objeví další, tato iterace se zahodí a podmínka se znovu zkontroluje. Pokud je true, provede se další iterace. Následující příkaz se tedy používá k přeskočení konkrétní iterace ve smyčce.

Příklad:

R




# R Program to demonstrate the use of> # next in for loop> for>(i>in> c>(3, 6, 23, 19, 0, 21))> {> >if>(i == 0)> >{> >next> >}> >print>(i)> }> print>(>'Outside Loop'>)>

>

>

Výstup:

[1] 3 [1] 6 [1] 23 [1] 19 [1] 21 [1] Outside loop>

Vytváření více grafů v rámci for-Loop v R

R

porovnání řetězců java




# create a matrix of data> mat <->matrix>(>rnorm>(100), ncol = 5)> # set up the plot layout> par>(mfrow =>c>(2, 3))> # loop over columns of the matrix> for>(i>in> 1:5) {> ># create a histogram for each column> >hist>(mat[, i], main =>paste>(>'Column'>, i), xlab =>'Values'>, col =>'lightblue'>)> }>

>

>

Výstup:

Smyčka For v RGeeksforgeeks

Pro smyčku v R

V tomto příkladu je pro smyčka iteruje přes sloupce matice spolu s a pro každý sloupec je vytvořen histogram hodnot pomocí hist() funkce. The hlavní argument toho hist() funkce se používá k nastavení názvu každého grafu a xlab argument se používá k označení osy x. The kol argument se používá k nastavení barvy sloupců v histogramu na světle modrou.

The o() funkce se používá k nastavení rozvržení pozemku pomocí mfrow = c(2; 3) , který určuje, že pozemky mají být uspořádány do 2 řad a 3 sloupců. To znamená, že pro smyčka vytvoří 5 grafů, z nichž každý je histogramem jednoho ze sloupců matice spolu s , uspořádané v mřížce 2×3.

Zde, jakmile je zjištěna nula, je tato iterace přerušena a podmínka je znovu zkontrolována. Protože 21 se nerovná 0, vytiskne se. Jak můžeme z výše uvedených dvou programů usoudit, základní rozdíl mezi dvěma příkazy skoku je v tom, že příkaz break ukončí cyklus a další příkaz přeskočí konkrétní iteraci cyklu.