Voor lus in R - How For Loop werkt in R samen met voorbeelden en syntaxis

Inhoudsopgave:

Anonim

Inleiding tot For Loop

Een For Loop-voorwaarde wordt uitgevoerd om een ​​set in staat te stellen zichzelf te herhalen totdat de vereiste voorwaarde is bereikt. Voor lus zijn zeer nuttig in het geval dat een groot aantal elementen of gehele getallen moet worden herhaald. For-lus kan worden gebruikt via een gegevensframe, vector of elk willekeurig object. In een situatie waarin men herhaaldelijk een soortgelijke functie moet uitvoeren, wordt lus gebruikt om de inspanning en de tijd te verminderen. Als we bijvoorbeeld 100 willekeurig getallen van 1 tot 1000 moeten afdrukken, kunnen we de voorwaarde for-loop gebruiken om dit eenvoudig te bereiken zonder de afdrukverklaring 100 keer te hoeven gebruiken. In dit onderwerp gaan we leren over For Loop in R.

Voor Loop Syntax

De for-lus-syntaxis in R vergelijkbaar met die van python of een andere taal. Hieronder staat de syntaxis van for lus in R.

Syntaxis:

for (val in sequence) (
Statement
)

In de bovenstaande syntaxis wordt de vector voorgesteld door een reeks en is val de waarde van de vector tijdens de For Loop.

Laten we nu het proces bekijken dat wordt uitgevoerd door voor lusconditie met behulp van een stroomschema. Voor elk item in de reeks herhaalt de lus zichzelf totdat de vereiste voorwaarde is bereikt. De voorwaarde wordt gecontroleerd en wanneer het laatste item is bereikt, bestaat de compiler de lus.

De structuur bestaat uit initialisatie getoond als "init", de ruit die een beslissingsvak is en een rechthoekige doos die het lichaam is van de voor een lus. Tijdens het uitvoeren van een set opdrachten onder voor lusvoorwaarde, start de compiler de lus pas wanneer de voorwaarde is opgegeven. Als er geen voorwaarde beschikbaar is, wordt de volgende instructie na de lus uitgevoerd. Voor elk item in de reeks komt de voorwaarde overeen. Totdat de voorwaarde niet is geëvenaard, gaat de lus steeds opnieuw. Zodra aan het laatste item of de voorwaarde is voldaan, bestaat de compiler in de lus.

Hoe werkt For Loop in R?

Voordat we leren hoe For Loop in R werkt, laten we eerst kijken wat een loop of looping is. Lus of iteratie, wat in feite een instructie is om te herhalen, heeft zijn oorsprong lang geleden gedateerd. Simpel gezegd, het automatiseert het proces door bepaalde vereiste functies in een partij onderdelen te groeperen. Het grootste deel van de moderne programmeertaal heeft een ingebouwde lusfunctie waarmee een functie voor automatisering kan worden gebouwd. De lusfuncties kunnen worden verdeeld in twee delen, lussen die worden bestuurd en die het gewenste aantal keren kunnen worden uitgevoerd vallen voor lusfamilie. Aan de andere kant vallen de lussen die zijn gebaseerd op een reeks voorwaarden onder de lusfamilie.

In dit artikel zullen we de verschillende methoden onderzoeken die beschikbaar zijn in R met het oog op lussen. We zullen verder kijken naar verschillende lusvoorbeelden met behulp van functies die beschikbaar zijn in de R-bibliotheek. Tijdens het werken in R-taal Voor lussen zijn alleen luscondities die u nodig hebt, zelden is er misschien behoefte aan andere luscondities, zoals While. Laten we eens kijken hoe For-lus wordt gebruikt om numerieke waarden te herhalen.

# for printing number from 9 to 99 usinf for loop
> for(i in 9:99)(
+ print(i)
+ )
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15
(1) 16
(1) 17
(1) 18
(1) 19
(1) 20
(1) 21

In het bovenstaande voorbeeld wordt de variabele "i" door de lus genomen en herhaald totdat de voorwaarde is vervuld. Het afdrukken van de variabele "i" in de lus geeft ons waarden van 9 tot 99. Laten we nu een ander voorbeeld bekijken met tekens.

# for printing and looping items in example vector
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:4)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"
(1) "base"
# In case we don't want the entire loop to be executed
# loop can be stopped with the help of break condition
# In the below example the fourth element will not be printed.
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:3)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"

In het bovenstaande voorbeeld drukken we gewenste elementen uit het voorbeeld af. In het eerste voorbeeld worden vier elementen in de reeks opgeroepen, vandaar dat alle elementen zijn afgedrukt wanneer de afdrukopdracht is uitgevoerd. In het tweede voorbeeld is de reeks aangeroepen tot het derde element, vandaar dat de eerste drie elementen worden afgedrukt.

Aan de andere kant bestaat er een voorwaarde die herhaallus wordt genoemd, die dezelfde functionaliteit heeft als lus. De herhaalconditie wordt echter gebruikt om de code continu te herhalen zonder voorwaardecontrole.

De gebruiker moet een voorwaarde in de lus definiëren en een "break" -instructie moet worden gebruikt om de lus te verlaten. Als u de instructie 'break' niet gebruikt, resulteert dit in een oneindige lus.

# illustrating repeat statement to print numbers from 5 to 15
> n <- 5
> repeat
+ (
+ print(n)
+ n = n+1
+ if (n == 16)(
+ break
+ )
+ )
(1) 5
(1) 6
(1) 7
(1) 8
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15

In het bovenstaande voorbeeld hebben we de voorwaarde n == 16 opgegeven, zodat de compiler de lus stopt wanneer de n == 6 wordt bereikt.

Voor lusvoorbeelden

Om For-lussen in R te introduceren, nemen we een voorbeeld van het extraheren van elementen of items uit de vector.

> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'utah')
>
>
> for (str in states) (
+ print(paste("States in USA: ", str))
+ )
(1) "States in USA: Oregon"
(1) "States in USA: Florida"
(1) "States in USA: Texas"
(1) "States in USA: Lowa"
(1) "States in USA: Nebraska"
(1) "States in USA: utah"
# to illustrate the print operation outside the loop
> print("----prints outside the loop---")
(1) "----prints outside the loop---"

Stap 1

Vector met de naam staten is gedefinieerd die uit verschillende staten bestaat

> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'Utah')

Stap 2

In de volgende stap wordt for lus gebruikt om de toestandsvector te herhalen en de individuele naam van de toestanden weer te geven.

> for (str in states) (
+ print(paste("States in USA: ", str))
+ )

Omdat het afdrukoverzicht in de lus is opgenomen, krijgen we de gewenste resultaten en worden alle namen van de staten afgedrukt. In de volgende stap wordt buiten de lus een andere afdrukopdracht gebruikt die praktisch wordt uitgevoerd zodra de for-lus eindigt.

Laten we nu eens kijken naar de logica achter elke iteratie tijdens de uitvoering van de code.

  1. Tijdens de eerste iteratie, State = Oregon, zijn er nog elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  2. Tijdens de tweede iteratie, State = Florida, zijn er nog vier elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  3. Tijdens de derde iteratie, State = Texas, zijn er nog drie elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  4. Tijdens de vierde iteratie, State = Lowa, zijn er nog twee elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  5. Tijdens de vijfde iteratie, State = Nebraska, blijft er nog een element over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  6. Tijdens de zesde iteratie, State = Utah, kunnen er elementen in de vector achterblijven. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  7. Tijdens de zevende iteratie verlaat de compiler de lus omdat er geen elementen meer kunnen worden toegewezen voor de statusvariabele.

Laten we in het volgende voorbeeld de lusfunctionaliteit bekijken in het geval van gehele getallen.

> num <- c(1:5)
>
> for (i in num) (
+ print(i)
+ )
(1) 1
(1) 2
(1) 3
(1) 4
(1) 5

Stap 1

De vector met de naam num is gedefinieerd en bestaat uit gehele getallen van 1 tot 5

> num <- c(1:5)

Stap 2

In de volgende stap wordt for lus gebruikt om over num vector te itereren en de individuele gehele getallen weer te geven.

> for (i in num) (
+ print(i)
+ )

Omdat de afdrukopdracht in de lus is opgenomen, krijgen we de gewenste resultaten en worden alle gehele getallen uit het vectornummer afgedrukt.

Laten we nu eens kijken naar de logica achter elke iteratie tijdens de uitvoering van de code.

  1. Tijdens de eerste iteratie, "1", blijven er elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  2. Tijdens de tweede iteratie, "2", zijn er nog drie elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  3. Tijdens de derde iteratie, "3", zijn er nog twee elementen over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  4. Tijdens de vierde iteratie, "4", is er nog een element over in de vector. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  5. Tijdens de vijfde iteratie "5" kunnen er elementen in de vector achterblijven. Daarom wordt de afdrukopdracht uitgevoerd door de compiler in de lus.
  6. Tijdens de zesde iteratie verlaat de compiler de lus omdat er geen elementen meer kunnen worden toegewezen voor de variabele num.

Conclusie - For Loop in R

In dit artikel hebben we gezien hoe for-voorwaarde kan worden uitgevoerd met R, R studio is gebruikt om de bovenstaande bewerkingen uit te voeren en de resultaten zijn weergegeven. We hebben verder een voorbeeld gezien van het extraheren van elementen of items uit de vector en evaluatie voor elke stap is onderzocht in het artikel.

Aanbevolen artikelen

Dit is een gids voor For Loop in R. Hier bespreken we hoe for loop in R werkt met de juiste voorbeelden en syntaxis. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Voor Loop in Python
  2. C # voor lus
  3. Lussen in Java-programmering
  4. Lussen in R
  5. Voor lus in C