Hallitse for-silmukka virtaviivaistaaksesi monimutkaisia laskutoimituksia ja muita toistuvia operaatioita.
Silmukat ovat ohjelmoinnin perusrakenne, joka ottaa koodilohkon ja ajaa sitä toistuvasti. For silmukat ovat yksi silmukoista, joita lähes kaikki kielet sisältävät. Silmukoiden R: t ovat olennainen osa datan analysointia.
Ne palvelevat monenlaisia tarkoituksia tulosteen muotoilusta suurten tietojoukkojen laskelmien suorittamiseen. For-silmukoiden käyttö R: ssä helpottaa data-analyysin suorittamista.
R's Basic for Loop
R-kielen for loop toimii samalla tavalla kuin standardi Go: sta löytyneille silmukoille ja useimmat muut ohjelmointikielet. Kun aloituskohta on annettu, se suorittaa sen sisältämän koodin tietyn määrän kertoja.
Laskuri sisältää iteroinnin, jonka silmukka on parhaillaan päällä, ja voit käyttää sitä vastaavasta koodilohkosta. Silmukat voivat suorittaa kiinteän määrän iteraatioita tai taulukon, vektorin tai listan kokonaispituuden.
Kiinteät iteraatiosilmukat
R: n kiinteät iteraatiosilmukat ovat seuraavassa muodossa:
varten (x sisään1:10) {
tulosta (x)
}
Silmukan x on muuttuja, joka tallentaa silmukan iteraation.
Sisään-avainsanan jälkeen ovat silmukan aloitus- ja loppupisteet. Silmukka aloittaa iteraattorinsa ensimmäisestä numerosta.
Jokaisen silmukan koodin suorituksen jälkeen se tarkistaa, onko iteraattori sama kuin kaksoispisteen jälkeinen numero.
Jos on, koodin suoritus jatkuu silmukan jälkeen. Jos se ei ole, iteraattori kasvaa yhdellä ja suluissa oleva koodilohko suoritetaan uudelleen.
Silmukoille taulukoissa, listoissa ja vektoreissa
Ihan kuin Pythonissa olevaa sanakirjaa kierrellä, voit iteroida sopivia tietorakenteita R: ssä käyttämällä for-silmukkaa. Voit käyttää mitä tahansa iteroitavaa tietorakennetta "in"-avainsanan jälkeen kiinteän aloitus- ja loppupisteen sijasta.
Silmukoittaminen tällä tavalla muuttaa koodin toimintaa. Tässä silmukka toimii kuten foreach-silmukka kielistä, kuten C#:
työntekijät "Ben", "Jane", "Suzi", "Josh", "Carol")
varten (x sisään työntekijät) {
tulosta (x)
}
Nyt sen sijaan, että x: llä olisi silmukan nykyinen iteraatio, se säilyttää objektin taulukosta tai luettelosta, jossa silmukka on tällä hetkellä päällä. Jos luettelossa, taulukossa tai vektorissa on enemmän kohteita jokaisen silmukan päätyttyä, x asetetaan seuraavaan kohtaan. Jos kohteita ei ole enempää, suoritus jatkuu koodilla silmukan jälkeen.
c Primitive Function and for Loops
Jo täytettyjen tietorakenteiden lisäksi R voi muodostaa uuden for-silmukan määrittelyssä. Voit tehdä tämän yhdistämällä useita elementtejä uudeksi vektoriksi c-funktiolla.
Voit yksinkertaistaa yllä olevaa esimerkkiä tällä menetelmällä:
varten (x sisään c("Ben", "Jane", "Suzi", "Josh", "Carol")) {
tulosta (x)
}
Huomaa, että tulos on aivan sama kuin ennen:
R's Jump -lausunnot
Kahdella lauseella voit ohittaa silmukan iteraatiot: break ja next. He tekevät tämän eri tavoin. Sinun tulee varmistaa, että tiedät eron näiden kahden välillä.
Tauon avainsana
Kun silmukka kohtaa sisällään break-lauseen, se sulkee silmukan välittömästi. Koska ohjelma poistuu silmukasta, kun se osuu break-avainsanaan, se ei suorita mitään jäljellä olevaa koodia uudelleen:
päivää "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "lauantai",
"Sunnuntai")varten (x sisään päivää) {
jos (x == "lauantai") {
tauko
}
tulosta (x)
}
Yllä oleva silmukka tulostaa kaikki arkipäivät, mutta ei kumpaakaan viikonloppupäivää.
Seuraava avainsana
Myös seuraava avainsana ohittaa iteroinnin, mutta toisin kuin break, next ei sulje silmukkaa välittömästi. Avoimeksi jäävä silmukka tarkoittaa, että mitään lisäkoodia nykyisessä silmukassa ei suoriteta, mutta seuraava iteraatio jatkuu suunnitellusti:
päivää "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "lauantai",
"Sunnuntai")varten (x sisään päivää) {
jos (x == "lauantai") {
Seuraava
}
tulosta (x)
}
Tämä silmukka tulostetaan joka arkipäivä ja sunnuntai, mutta sitä ei tulosteta lauantaina.
Esimerkki silmukoista R: ssä
On olemassa monia erilaisia tilanteita, joissa for-silmukat ovat hyödyllisiä R: ssä. Ne voivat olla loistava tapa suorittaa toistuvia laskutoimituksia, kuten lukujen lisääminen kokonaissumman saamiseksi:
tilaukset 23.4, 699.8, 1042.0)
yhteensä 0.0varten (Tilaus sisään tilaukset) {
yhteensä }
kissa("yhteensä on $", kaikki yhteensä, "\n")
Tämä esimerkki lisää tilauksen kokonaissumman jokaisesta yksittäisestä tilauksesta luettelossa kokonaissummaan.
Vaihtoehtoisesti for-silmukka voi auttaa sinua tulostamaan nopeasti ja helposti suuria määriä hyvin muotoiltua tietoa:
day_totals 567.82, 364.72, 762.81, 354.99, 622.87)
varten (päivä sisään1:length (day_totals)) {
kissa("Päivä #", päivä, ": $", day_totals[day],"\n")
päivä 1
}
Voit käyttää for-silmukkaa tulostaaksesi jokaisen viikonpäivän ja kyseisen päivän kokonaismyynnin.
Voit käyttää for-silmukkaa tulosten laskemiseen ja asettaa ne käytettäväksi for-silmukan ulkopuoliselle koodille saadaksesi erilaisia tietoja:
testi_pisteet 67, 89, 72, 44)
score_total 0
testien_määrä 0varten (pisteet sisään testipisteet) {
pistemäärä_yhteensä testien_määrä 1
}
keskimääräinen_pistemäärä tulosta (keskimääräinen_piste)
Yllä oleva silmukka laskee opiskelijoiden kokeessa saavuttaman keskimääräisen pistemäärän.
Kaikki mitä sinun tulee tietää R's for Loopsista
On välttämätöntä oppia suorittamaan tietty määrä silmukoita tai iteroida tietojoukon yli ilman kiinteää pituutta.
Riippumatta siitä, sinun on suoritettava toistuvia laskutoimituksia taulukolle, tulostettava kaikki luettelon kohteet tai näytettävä suuri joukko tietoja luettavassa muodossa, R's for loop voi auttaa.
For loopin taustalla olevien periaatteiden ymmärtäminen on arvokas taito arsenaalissasi, ja sen hallitseminen voi auttaa sinua kirjoittamaan yksinkertaista, helposti luettavaa koodia.