Loop over een vector
Tot slot in onze bespreking van lussen: de for-lus. Als je weet hoe vaak je een actie wilt herhalen, is een for-lus een goede optie. Het idee van de for-lus is dat je door een reeks stapt, één voor één, en bij elke stap een actie uitvoert. Die reeks is vaak een vector van getallen (zoals de reeks 1:10), maar kan ook getallen zonder volgorde zijn zoals c(2, 5, 4, 6), of zelfs een reeks tekens!
for (value in sequence) {
code
}
In woorden zegt dit: "voor elke waarde in mijn reeks, voer deze code uit." Voorbeelden zijn: "voor elke rij van mijn data frame, print kolom 1", of "voor elk woord in mijn zin, controleer of dat woord DataCamp is."
Laten we een voorbeeld proberen! Eerst maak je een lus die de waarden print in een reeks van 1 tot en met 10. Daarna pas je die lus aan zodat hij ook de waarden van 1 tot en met 10 optelt, waarbij bij elke iteratie de volgende waarde in de reeks wordt toegevoegd aan de voortschrijdende som.
Een vector seq en een variabele sum zijn voor je gedefinieerd.
Deze oefening maakt deel uit van de cursus
R voor finance voor gevorderden
Oefeninstructies
- Vul de for-lus in en gebruik
seqals je reeks. Printvaluebij elke iteratie. - Gebruik de lus om de getallen in
seqop te tellen. Bij elke iteratie moetvaluebijsumworden opgeteld, waarnasumwordt geprint.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Sequence
seq <- c(1:10)
# Print loop
for (value in ___) {
print(___)
}
# A sum variable
sum <- 0
# Sum loop
for (value in seq) {
sum <- ___ + ___
print(___)
}