logo

Voor lus in R

Voor loop-in R-programmeertaal is handig om de elementen van een lijst, dataframe, vector, Matrix of een ander voorwerp. Het betekent dat de for-lus kan worden gebruikt om een ​​groep instructies herhaaldelijk uit te voeren, afhankelijk van het aantal elementen in het object. Het is een ingangsgestuurde lus. In deze lus wordt eerst de testvoorwaarde getest en vervolgens wordt het lichaam van de lus uitgevoerd. Het luslichaam wordt niet uitgevoerd als de testvoorwaarde onwaar is.

Voor lus in R-syntaxis:

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

Hier neemt var elke waarde van de vector over tijdens de lus. In elke iteratie worden de uitspraken geëvalueerd.



Stroomdiagram van For-lus in R:

Voor lus in RGeeksforgeeks

Voor lus in R

Itereren over een bereik in R – For-lus

R








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

>

>

Uitgang:

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

In het bovenstaande voorbeeld hebben we het bereik 1 tot en met 4 herhaald, wat onze vector was. Er kunnen nu verschillende variaties op deze algemene for-lus bestaan. In plaats van een reeks 1:5 te gebruiken, kunnen we ook de aaneengeschakelde functie gebruiken.

De aaneengeschakelde functie gebruiken in R – For-lus

R




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

>

>

Uitgang:

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

In plaats van onze vector in de lus te schrijven, kunnen we deze ook vooraf definiëren.

Aaneenschakeling gebruiken buiten de lus R – Voor lus

R




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

>

>

Uitgang:

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

Geneste For-lus in R

De programmeertaal R maakt het gebruik van één lus in een andere lus mogelijk. Bij het nesten van lussen kunnen we elk type lus in elk ander type lus plaatsen. Een for-lus kan zich bijvoorbeeld binnen een while-lus bevinden, of omgekeerd. In de volgende sectie wordt een voorbeeld weergegeven om het concept te illustreren:

Voorbeeld:

R




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

>

>

Uitgang:

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

Jump-instructies in R

We gebruiken een jump-instructie in lussen om de lus bij een bepaalde iteratie te beëindigen of om een ​​bepaalde iteratie in de lus over te slaan. De twee meest gebruikte jump-instructies in lussen zijn:

Break-verklaring:

Een break-instructie is een jump-instructie die wordt gebruikt om de lus bij een bepaalde iteratie te beëindigen. Het programma gaat dan verder met de volgende instructie buiten de lus (indien aanwezig).

Voorbeeld:

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'>)>

>

>

Uitgang:

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

Hier eindigt de lus zodra nul wordt aangetroffen.

Volgende verklaring

Het beëindigt een bepaalde iteratie en springt naar de volgende iteratie. Dus wanneer de volgende wordt aangetroffen, wordt die iteratie weggegooid en wordt de voorwaarde opnieuw gecontroleerd. Indien waar, wordt de volgende iteratie uitgevoerd. Daarom wordt de volgende instructie gebruikt om een ​​bepaalde iteratie in de lus over te slaan.

Voorbeeld:

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'>)>

>

>

Uitgang:

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

Meerdere plots maken binnen for-Loop in R

R




# 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'>)> }>

>

>

Uitgang:

Voor lus in RGeeksforgeeks

Voor lus in R

In dit voorbeeld is de voor lus itereert over de kolommen van de matrix samen met en voor elke kolom wordt een histogram van de waarden gemaakt met behulp van de geschiedenis() functie. De voornaamst betoog van de geschiedenis() functie wordt gebruikt om de titel van elk plot in te stellen, en de xlab argument wordt gebruikt om de x-as te labelen. De kol argument wordt gebruikt om de kleur van de balken in het histogram in te stellen op lichtblauw.

De over() functie wordt gebruikt om de plotindeling in te stellen mfrow = c(2, 3) , wat specificeert dat de plots in 2 rijen en 3 kolommen moeten worden gerangschikt. Dit betekent dat de voor lus creëert 5 plots, die elk een histogram zijn van een van de kolommen van de matrix samen met , gerangschikt in een 2×3 raster.

Zodra hier nul wordt aangetroffen, wordt die iteratie stopgezet en wordt de voorwaarde opnieuw gecontroleerd. Omdat 21 niet gelijk is aan 0, wordt deze afgedrukt. Zoals we uit de twee bovenstaande programma's kunnen concluderen, is het fundamentele verschil tussen de twee jump-instructies dat de break-instructie de lus beëindigt en dat de volgende instructie een bepaalde iteratie van de lus overslaat.