Hvordan fungerer while-løkker i R?
Looper er et av de grunnleggende konseptene i programmering. De sørger for at visse deler av koden utføres gjentatte ganger under en bestemt betingelse. Med while-looper i R gjentas en seksjon til den tidligere angitte betingelsen blir falsk.
Hva brukes while-løkker i R til?
While-løkker brukes til å gjenta utførelsen av en kodeblokk avhengig av en betingelse. Så lenge denne betingelsen er oppfylt, utføres koden i while-løkken.
Looper brukes ofte i R-programmering for å lære om elementene i en R-liste og utføre spesifikke handlinger på dem individuelt. For eksempel kan du vise en hvilken som helst streng på skjermen fra en liste med R-strenger. I tillegg brukes while-looper i R til betinget utførelse av kode. Looper som while-loopen er grunnlaget for mange kjente sorteringsalgoritmer som organiserer en database etter bestemte kriterier.
Struktur og syntaks for while-løkker i R
Syntaksen for while-løkker i R er lik syntaksen for while-løkker i de fleste andre programmeringsspråk. I løkkeoverskriften, som introduseres med nøkkelordet while, angis betingelsen i parentes. Den sistnevnte må være sann for at løkkehullet skal utføres. Dette hullet er ikke annet enn sin egen kodeblokk etter løkkeoverskriften, omsluttet av krøllparenteser.
For å illustrere dette har vi laget et eksempel. Dette R-løkkeeksemplet viser en while-løkke som gir verdier fra 1 til 10:
x <- 1
while (x <= 10) {
print(x)
x <- x + 1
}RBubblesort i R-eksempel
Bubblesort er en klassisk sorteringsalgoritme som brukes til å sortere elementer i en R-vektor eller en matrise i R i stigende rekkefølge. I denne sorteringsalgoritmen brukes en while-løkke til å utføre sorteringskoden til alle elementene i vektoren er sortert:
bubblesort <- function(x) {
swapped <- TRUE
n <- length(x) - 1
while (swapped) {
swapped <- FALSE
for (i in 1:n) {
if (x[i] > x[i+1]) {
tmp <- x[i]
x[i] <- x[i+1]
x[i+1] <- tmp
swapped <-TRUE
}
}
}
return(x)
}RI koden ovenfor opprettes en R-funksjon kalt bubblesort. Dette sikrer at en numerisk vektor sorteres i stigende rekkefølge. While-sløyfen brukes til å utføre utvekslingsprosessen, som er avgjørende for Bubblesort, til sorteringen er fullført.
Bryt inn i while-sløyfen i R
For å avslutte en while-løkke før tiden under en bestemt betingelse, kan du bruke nøkkelordet «break». Dette sikrer at løkken forlates og ikke gjenopptas. Her er et eksempel på «break»-setningen for å forklare:
x <- 10
while (x >= 0) {
print(x)
if (x == 5) {
break
}
x <- x - 1
}ROvennevnte løkke viser tallene 10 til 5 på skjermen. Når variabelen «x» når verdien 5, utføres R «if»-betingelsen, og løkken avsluttes før tiden ved å kalle «break».
Andre sløyfer i R
While-sløyfen i R er ikke den eneste typen sløyfe i R. Det finnes også for-sløyfen, som ofte betraktes som en slags tellesløyfe, og repeat-sløyfen, som brukes til å utføre kode flere ganger, uavhengig av en betingelse. Repeat-sløyfer må avsluttes med nøkkelordet «break», ellers blir de uendelige sløyfer.
For-løkke i R
For-løkker brukes når antall iterasjoner er kjent på forhånd. Antall iterasjoner angis eksplisitt i løkkens overskrift. En for-løkke som skriver ut tallene 1 til 5 ser slik ut:
for (z in 1:5) {
print(i)
}RGjenta sløyfe i R
Repeat-løkker i R brukes til å utføre kode flere ganger, uavhengig av en betingelse. Hvis du ikke akkurat har begynt å programmere, er du sannsynligvis kjent med do-while-løkker fra andre programmeringsspråk som Java. Det finnes ingen eksplisitt do-while-løkke i R der en kodeblokk utføres minst én gang. Men funksjonaliteten kan enkelt implementeres med repeat-løkker:
x <- 1
repeat {
print(x)
if (x >= 10) {
break
}
x <- x + 1
}RKodeeksemplet ovenfor viser tallene fra 1 til 10. Koden utføres minst én gang (i en klassisk do-while-løkke i «do-kodeblokken») før «if»-setningen, som avslutter løkken hvis den angitte betingelsen er sann. be736e550b1141b116c6745223aecfd7
d1d76d85f27f41c7f98c49bcb7641848
37b614e8ff1142c9025056cc2b26f936
f73edeee674565a3ba93d621869650b4
f6ad642a4496a228d9cd498361ed3d1a