Obvladajte zanko for za poenostavitev zapletenih izračunov in drugih ponavljajočih se operacij.

Zanke so osnovna struktura v programiranju, ki vzamejo blok kode in ga ponavljajo. Zanke for so ena od vrst zank, ki jih vsebujejo skoraj vsi jeziki. Zanke R for so sestavni del analiziranja podatkov.

Uporabljajo se za različne namene, od oblikovanja izhoda do izvajanja izračunov na velikih nizih podatkov. Uporaba zank for v R olajša analizo podatkov.

R's Basic for Loop

Zanka for jezika R deluje podobno kot standard zanke, ki jih najdemo v Go in večina drugih programskih jezikov. Glede na začetno točko bo zagnal kodo, ki jo vsebuje, določeno število krat.

Števec vsebuje iteracijo, v kateri je zanka trenutno, in do njega lahko dostopate iz povezanega bloka kode. Zanke se lahko izvajajo za določeno število ponovitev ali za celotno dolžino niza, vektorja ali seznama.

Fiksne iteracijske zanke

Fiksne iteracijske zanke v R imajo naslednjo obliko:

za (x v1:10) {
natisni (x)
}

X v zanki je spremenljivka, ki bo shranila ponovitev zanke.

instagram viewer

Za ključno besedo "in" sta začetna in končna točka zanke. Zanka bo svoj iterator začela pri prvi številki.

Po vsakem zagonu kode v zanki bo preverila, ali je iterator enak številu za dvopičjem.

Če je, se bo izvajanje kode nadaljevalo po zanki. Če ni, se bo iterator povečal za 1 in kodni blok v oklepajih se bo znova zagnal.

Zanke na nizih, seznamih in vektorjih

Tako kot brskanje po slovarju v Pythonu, lahko ponavljate ustrezne podatkovne strukture v R z uporabo zanke for. Namesto fiksne začetne in končne točke lahko za ključno besedo »in« uporabite katero koli ponovljivo podatkovno strukturo.

Zankanje na ta način bo spremenilo vedenje kode. Tukaj bo zanka delovala kot zanka foreach iz jezikov, kot je C#:

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

za (x v zaposleni) {
natisni (x)
}

Zdaj bo x namesto trenutne ponovitve zanke držal objekt iz matrike ali seznama, na katerem je zanka trenutno. Ko je vsaka zanka končana, če je na seznamu, matriki ali vektorju več elementov, bo x nastavljen na naslednji element. Če ni več elementov, se bo izvedba nadaljevala s kodo po zanki.

Primitivna funkcija c in zanke for

Poleg že poseljenih podatkovnih struktur lahko R sestavi novo v deklaraciji zanke for. Če želite to narediti, uporabite funkcijo c, da združite več elementov v nov vektor.

Zgornji primer lahko poenostavite s to metodo:

za (x v c("Ben", "Jane", "Suzi", "Josh", "Carol")) {
natisni (x)
}

Upoštevajte, da je rezultat enak kot prej:

R-jeve izjave o skoku

Dva stavka vam omogočata, da preskočite ponovitve zanke: break in next. To jim uspe na različne načine. Prepričajte se, da poznate razliko med obema.

Ključna beseda prekinitev

Ko zanka znotraj sebe naleti na stavek break, zanko takoj zapre. Ker program zapusti zanko, ko zadene ključno besedo break, ne bo več zagnal preostale kode:

dni "ponedeljek", "torek", "sreda", "četrtek", "petek", "sobota",
"nedelja")

za (x v dnevi) {
če (x == "sobota") {
odmor
}

natisni (x)
}

Zgornja zanka bo natisnila vse dneve v tednu, vendar ne nobenega vikenda.

Naslednja ključna beseda

Ključna beseda next prav tako preskoči ponovitev, vendar za razliko od break, next ne zapre zanke takoj. Zanka, ki ostane odprta, pomeni, da se morebitna dodatna koda v trenutni zanki ne bo izvajala, vendar se bo naslednja ponovitev nadaljevala po načrtih:

dni "ponedeljek", "torek", "sreda", "četrtek", "petek", "sobota",
"nedelja")

za (x v dnevi) {
če (x == "sobota") {
Naslednji
}

natisni (x)
}

Ta zanka se bo izpisala vsak delovnik in nedeljo, vendar ne bo natisnjena v soboto.

Primer za zanke v R

Obstaja veliko različnih situacij, v katerih so zanke for uporabne v R. Lahko so odličen način za izvajanje ponavljajočih se izračunov, kot je seštevanje števil, da dobite skupno:

naročila 23.4, 699.8, 1042.0)
skupaj 0.0

za (naročilo v naročila) {
skupno }

mačka("skupaj je $", skupaj, "\n")

Ta primer bo skupni vsoti dodal skupno vrednost naročila iz vsakega posameznega naročila na seznamu.

Druga možnost je, da vam zanka for pomaga hitro in preprosto izpisati velike količine dobro oblikovanih podatkov:

day_totals 567.82, 364.72, 762.81, 354.99, 622.87)

za (dan v1:length (day_totals)) {
mačka("Dan #", dan, ": $", day_totals [dan],"\n")
dan 1
}

Z zanko for lahko natisnete vsak dan v tednu in skupno prodajo za ta dan.

Zanko for lahko uporabite za izračun rezultatov in jih daste na voljo za kodiranje zunaj zanke for, da pridobite različne informacije:

testni_rezultati 67, 89, 72, 44)
rezultat_total 0
št_testov 0

za (ocena v test_rezultati) {
score_total št_testov 1
}

povprečni_rezultat natisni (povprečna_rezultat)

Zgornja zanka bo izračunala povprečni rezultat, ki so ga učenci dosegli na testu.

Vse, kar morate vedeti o R's for Loops

Bistvenega pomena je, da se naučite zagnati določeno število zank ali ponoviti nabor podatkov brez fiksne dolžine.

Ne glede na to, ali morate izvajati ponavljajoče se izračune na matriki, natisniti vsak element na seznamu ali prikazati veliko skupino podatkov v berljivi obliki, vam lahko pomaga zanka R for.

Razumevanje temeljnih principov zank for je dragocena veščina, ki jo morate imeti v svojem arzenalu, in obvladanje le-te vam lahko pomaga pri pisanju preproste, lahko berljive kode.