Mestre for-løkken for at strømline komplekse beregninger og andre gentagne operationer.

Sløjfer er en grundlæggende struktur i programmering, der tager en kodeblok og kører den gentagne gange. For loops er en af ​​de typer loops, som næsten alle sprog indeholder. R'er for loops er en integreret del af analyse af data.

De tjener en række formål, fra formatering af output til at køre beregninger på store datasæt. Brugen af ​​for loops i R gør dataanalyse nemmere at udføre.

R's Basic for Loop

R-sproget for loop fungerer på samme måde som standarden for sløjfer fundet i Go og de fleste andre programmeringssprog. Givet et udgangspunkt, vil den køre koden indeholdt i den et givet antal gange.

En tæller holder den iteration, som sløjfen i øjeblikket er på, og du kan få adgang til den fra den tilhørende kodeblok. Sløjfer kan køre for et fast antal iterationer eller for den samlede længde af en matrix, vektor eller liste.

Faste iterationsløkker

Faste iterationsløkker i R har følgende form:

til (x i1:10) {
print (x)
}
instagram viewer

X'et i løkken er den variabel, der gemmer løkkens iteration.

Efter nøgleordet "in" er start- og slutpunkterne for løkken. Sløjfen starter sin iterator ved det første nummer.

Efter hver gang koden i løkken kører, vil den kontrollere, om iteratoren er lig med tallet efter kolon.

Hvis det er tilfældet, vil udførelse af kode fortsætte efter løkken. Hvis den ikke er det, vil iteratoren øges med 1, og kodeblokken i parentesen kører igen.

Til sløjfer på arrays, lister og vektorer

Ligesom sløjfe gennem en ordbog i Python, kan du iterere over passende datastrukturer i R ved at bruge for-løkken. Du kan bruge enhver iterabel datastruktur efter nøgleordet "in" i stedet for et fast start- og slutpunkt.

Looping på denne måde vil ændre kodens adfærd. Her vil løkken fungere som en foreach løkke fra sprog som C#:

medarbejdere "Ben", "Jane", "Suzi", "Josh", "Carol")

til (x i medarbejdere) {
print (x)
}

Nu, i stedet for at x holder den aktuelle iteration af sløjfen, vil den holde objektet fra arrayet eller listen, som sløjfen i øjeblikket er på. Efter hver sløjfe er fuldført, hvis der er flere elementer i listen, arrayet eller vektoren, indstilles x til det næste element. Hvis der ikke er flere elementer, fortsætter eksekveringen med koden efter løkken.

Den c primitive funktion og for sløjfer

Ud over allerede udfyldte datastrukturer kan R komponere en ny i erklæringen af ​​for-løkken. For at gøre det skal du bruge c-funktionen til at kombinere flere elementer til en ny vektor.

Du kan forenkle eksemplet ovenfor ved at bruge denne metode:

til (x i c("Ben", "Jane", "Suzi", "Josh", "Carol")) {
print (x)
}

Bemærk, at outputtet er det samme som før:

R's Jump-udsagn

To udsagn giver dig mulighed for at springe loop-iterationer over: pause og næste. De opnår dette på forskellige måder. Du bør sikre dig, at du kender forskellen mellem de to.

Pausen Nøgleord

Når en løkke støder på en break-sætning inde i sig selv, lukker den straks løkken. Da programmet forlader løkken, når det rammer break nøgleordet, vil det ikke køre nogen af ​​den resterende kode igen:

dage "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag",
"Søndag")

til (x i dage) {
hvis (x == "Lørdag") {
pause
}

print (x)
}

Ovenstående loop vil udskrive alle hverdage, men ingen af ​​weekenddagene.

Det næste søgeord

Det næste søgeord springer også en iteration over, men i modsætning til pause lukker næste ikke sløjfen med det samme. Sløjfen forbliver åben betyder, at enhver yderligere kode inden for den aktuelle løkke ikke kører, men den næste iteration vil fortsætte som planlagt:

dage "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag",
"Søndag")

til (x i dage) {
hvis (x == "Lørdag") {
Næste
}

print (x)
}

Denne sløjfe udsender hver ugedag og søndag, men den udskrives ikke lørdag.

Eksempel på Loops i R

Der er en lang række situationer, hvor for loops er nyttige i R. De kan være en fantastisk måde at køre gentagne beregninger på, såsom at tilføje tal for at få en total:

ordrer 23.4, 699.8, 1042.0)
i alt 0.0

til (bestille i Ordre:% s) {
total }

kat("det samlede beløb er $", Total, "\n")

Dette eksempel vil tilføje en ordretotal fra hver enkelt ordre på en liste til den samlede total.

Alternativt kan en for loop hjælpe dig med hurtigt og nemt at udskrive store mængder velformaterede data:

dag_total 567.82, 364.72, 762.81, 354.99, 622.87)

til (dag i1:length (dag_total)) {
kat("Dag #", dag, ": $", dag_total[dag],"\n")
dag 1
}

Du kan bruge en for-løkke til at udskrive hver dag i ugen og det samlede salg for den pågældende dag.

Du kan bruge en for-løkke til at beregne resultater og gøre dem tilgængelige til at kode uden for for-løkken for at få en række informationer:

test_scores 67, 89, 72, 44)
score_total 0
antal_tests 0

til (score i test_scores) {
score_total num_tests 1
}

gennemsnitsscore print (gennemsnitlig_score)

Ovenstående loop vil beregne den gennemsnitlige score, eleverne opnåede på en test.

Alt du behøver at vide om R's for Loops

Det er vigtigt at lære at køre et bestemt antal loops eller iterere over et datasæt uden en fast længde.

Uanset om du skal udføre gentagne beregninger på et array, udskrive hvert element på en liste eller vise en stor batch af data i en læsbar form, kan R's for loop hjælpe.

At forstå de underliggende principper bag loops er en værdifuld færdighed at have i dit arsenal, og at mestre det kan hjælpe dig med at skrive enkel, letlæselig kode.