logo

Kilpai R

Norėdami įjungti R programavimo kalba naudinga kartoti sąrašo elementus, duomenų rėmelį, vektorių, matrica , ar bet koks kitas objektas. Tai reiškia, kad ciklas for gali būti naudojamas norint pakartotinai vykdyti teiginių grupę, atsižvelgiant į objekto elementų skaičių. Tai įėjimo valdoma kilpa, šioje kilpoje pirmiausia patikrinama testo sąlyga, tada vykdomas ciklo korpusas, ciklo korpusas nebūtų vykdomas, jei testo sąlyga yra klaidinga.

Ciklas R sintaksėje:

for (var in vector) { statement(s) }>

Čia var įgauna kiekvieną vektoriaus reikšmę ciklo metu. Kiekvienoje iteracijoje teiginiai įvertinami.



For ciklo schema R:

RGeeksforgeeks kilpai

Kilpai R

Iteravimas per diapazoną R – For ciklas

R








# R Program to demonstrate> # the use of for loop> for>(i>in> 1: 4)> {> >print>(i ^ 2)> }>

>

>

Išvestis:

[1] 1 [1] 4 [1] 9 [1] 16>

Aukščiau pateiktame pavyzdyje mes kartojome diapazoną nuo 1 iki 4, kuris buvo mūsų vektorius. Dabar gali būti keletas šios bendrosios kilpos variantų. Užuot naudoję seką 1:5, galime naudoti ir sujungimo funkciją.

Sujungimo funkcijos naudojimas R – For ciklas

R




# R Program to demonstrate the use of> # for loop along with concatenate> for>(i>in> c>(-8, 9, 11, 45))> {> >print>(i)> }>

>

>

Išvestis:

[1] -8 [1] 9 [1] 11 [1] 45>

Užuot įrašę savo vektorių ciklo viduje, galime jį apibrėžti iš anksto.

Sujungimo naudojimas už kilpos ribų R – kilpai

R

pakeisti java eilutę




# R Program to demonstrate the use of> # for loop with vector> x <->c>(-8, 9, 11, 45)> for>(i>in> x)> {> >print>(i)> }>

>

>

Išvestis:

[1] -8 [1] 9 [1] 11 [1] 45>

Įdėta For-kilpa R

R programavimo kalba leidžia naudoti vieną kilpą kitoje kilpoje. Įdėdami kilpą bet kokio tipo kilpą galime įdėti į bet kurio kito tipo kilpą. Pavyzdžiui, ciklas for gali būti a while ciklo viduje arba atvirkščiai. Šiame skyriuje pateikiamas pavyzdys, iliustruojantis koncepciją:

Pavyzdys:

R




# R Program to demonstrate the use of> # nested for loop> for>(i>in> 1:3)> {> >for>(j>in> 1:i)> >{> >print>(i * j)> >}> }>

>

>

Išvestis:

[1] 1 [1] 2 [1] 4 [1] 3 [1] 6 [1] 9>

Peršokti pareiškimai R

Mes naudojame šuolio teiginį kilpose, kad užbaigtume ciklą tam tikroje iteracijoje arba praleistume tam tikrą iteraciją cikle. Du dažniausiai naudojami šuolio teiginiai kilpose yra šie:

Pertraukos pareiškimas:

Pertraukos sakinys yra šuolio sakinys, naudojamas tam tikros iteracijos ciklui nutraukti. Tada programa tęsia kitą teiginį už ciklo ribų (jei yra).

Pavyzdys:

R




# R Program to demonstrate the use of> # break in for loop> for>(i>in> c>(3, 6, 23, 19, 0, 21))> {> >if>(i == 0)> >{> >break> >}> >print>(i)> }> print>(>'Outside Loop'>)>

>

>

Išvestis:

[1] 3 [1] 6 [1] 23 [1] 19 [1] Outside loop>

Čia kilpa išeina iš karto, kai tik susiduriama su nuliu.

Kitas pareiškimas

Jis nutraukia tam tikrą iteraciją ir pereina prie kitos iteracijos. Taigi, kai susiduriama su kita, ta iteracija atmetama ir būklė dar kartą patikrinama. Jei tiesa, bus vykdoma kita iteracija. Taigi, kitas teiginys naudojamas praleisti tam tikrą ciklo iteraciją.

Pavyzdys:

R




# R Program to demonstrate the use of> # next in for loop> for>(i>in> c>(3, 6, 23, 19, 0, 21))> {> >if>(i == 0)> >{> >next> >}> >print>(i)> }> print>(>'Outside Loop'>)>

>

>

Išvestis:

[1] 3 [1] 6 [1] 23 [1] 19 [1] 21 [1] Outside loop>

Kelių sklypų kūrimas „for-Loop“ programoje R

R




# create a matrix of data> mat <->matrix>(>rnorm>(100), ncol = 5)> # set up the plot layout> par>(mfrow =>c>(2, 3))> # loop over columns of the matrix> for>(i>in> 1:5) {> ># create a histogram for each column> >hist>(mat[, i], main =>paste>(>'Column'>, i), xlab =>'Values'>, col =>'lightblue'>)> }>

>

>

Išvestis:

RGeeksforgeeks kilpai

Kilpai R

Šiame pavyzdyje dėl ciklas kartojasi per matricos stulpelius kartu su , ir kiekvienam stulpeliui sukuriama reikšmių histograma naudojant istorija () funkcija. The pagrindinis argumentas istorija () funkcija naudojama kiekvieno siužeto pavadinimui nustatyti ir xlab argumentas naudojamas x ašiai pažymėti. The plk argumentas naudojamas norint nustatyti histogramos juostų spalvą į šviesiai mėlyną.

The apie () funkcija naudojama sklypo išdėstymui nustatyti naudojant mfrow = c(2, 3) , kuriame nurodyta, kad sklypai turi būti išdėstyti 2 eilėmis ir 3 stulpeliais. Tai reiškia, kad dėl kilpa sukurs 5 diagramas, kurių kiekvienas yra vienos iš matricos stulpelių histograma kartu su , išdėstyti 2×3 tinkleliu.

Čia, kai tik aptinkamas nulis, ta iteracija nutraukiama ir būklė dar kartą patikrinama. Kadangi 21 nėra lygus 0, jis spausdinamas. Kaip galime daryti išvadą iš pirmiau pateiktų dviejų programų, pagrindinis skirtumas tarp dviejų šuolio teiginių yra tas, kad pertraukos sakinys užbaigia kilpą, o kitas sakinys praleidžia tam tikrą ciklo iteraciją.