Mitä silmukoita ovat R: ssä?

R-silmukoita käytetään ohjelmoinnissa koodin toistuville iteraatioille. Kaikki nykyaikaiset ohjelmoinnit vaativat koodin käskylohkon toistamisen. Sitä varten silmukkailmoitukset määrätään 'n' -kertomuksille koodilohkon suorittamiseksi laskurilla tai lisäyksellä / pienennyksellä jokaisessa toistosyklissä. Esimerkiksi, sinun on suoritettava toiminto 3 kertaa. Ei ole pakollista kirjoittaa lauseiden sekvenssiä, mikä pidentää koodin pituutta. Hyvän lähdekoodin ei pitäisi olla pitkä. Voit tehdä niin silmukan avulla, voit kirjoittaa saman lauseen silmukan sisään, se minimoi ajan ja tarjoaa optimoinnit tehokkaasti.

Selitä silmukat R-ohjelmoinnissa?

R on ohjelmointikieli, jota tietojen tutkijat, tiedon kaivojat käyttävät tilastollisiin analyyseihin ja raportointiin. Silmukat ovat tärkeä käsite R.: n ymmärtämiseksi. Monte Carlo -menetelmien suorittaminen R-silmukoissa on hyödyllistä. Erityisesti silmukoille on apua simulointiosion suhteen - esimerkiksi Markov-ketjuprosessi, joka käyttää joukko satunnaismuuttujia. Tilaavaruus käsittää useita äärellisiä silmukoita lähtöpisteessä. Koneoppimismalleissa muistin säästäminen generaattoreilla on tärkein etu. Se tehdään määrittelemällä toiminto, joka silmukkaa määrittelemänsä elementit. Tietojenkäsittelyssä koodin kopiointi vaikuttaa koodivirheisiin. On välttämätöntä tunnistaa ja poistaa päällekkäiset arvot tietojoukosta. Niiden vähentämiseksi käytetty työkalu on iterointi, joka suorittaa usean näytteen syöttämisen eri tietojoukkoihin. Siksi on välttämätöntä käyttää kolmea iterointiparadigemaa: silmukoille toista ja silmukoiden aikana.

1. Silmukoille R: ssä

Silmukka toimii monilla tietorakenteilla, kuten taulukot, matriisi, lista, vektorit. For loop: n perussyntaksi R-ohjelmoinnissa on annettu alla-

Syntaksi:

for ( i in 1:n)
(
Body of the statements
)
Nested For loops
for (i in 1: n)
(
for ( i in 1:n)
(
Body of the statements
)
)

Virtauskaavio kohdasta For Loop

Alla olevassa kaaviossa sekvenssin jokaiselle arvolle silmukka suoritetaan. kun arvoa ei ole enää, se palaa poistumiseen.

Esimerkki:

Tässä on yksinkertainen esimerkki numeroiden tulostamiseksi.

for (n in 1:6)
(
print (5 * n)
)

lähtö:
5
10
15
20
25
30

Lasketaan parittomien arvojen lukumäärä luettelossa

a <- c (2, 7, 3, 13, 8, 11, 6)
ct <- 0
for (val in a) (
if (! val %% 2 == 0)
ct = ct+1
)
print(ct)

lähtö:

(1) 4

1. Sisäkkäin Loopille

Esimerkki:

for (i in 1: 4)
(
for ( j in 1:3)
(
print (i*j)
)
)

lähtö:

1 2 3 2 4 6 3 6 9 4 8 12

2. Silmukalle luettelon avulla

Esimerkki:

Luettelon luominen kolmella vektorilla

a <- list ("Sunday", "Monday", c (24, 63, 01), FALSE, 33.9, 12.6)
print (a)

lähtö:

((1)) (1) ”sunnuntai”
((2)) (1) ”maanantai”
((3)) (1) 24 36 1
((4)) (1) Väärä
((5)) (1) 33, 9
((6)) (1) 12.6

3. Vektorin käyttö

x<- 1:6
y<- 1:6
tw <- numeric (length = length(x))
for (i in seq_along(x)) (
tw(i) <- x(i) + y(i) )
tw

lähtö:

2 4 6 8 10 12

Yllä olevassa ohjelmassa on kolme komponenttia:

  1. Vektoripituuden määrittäminen (). Tehokkuuden ylläpitämiseksi on tarpeen varata riittävästi tilaa. Ja vektorilla on tietyn tyyppisiä datatyyppejä.
  2. Toiseksi tulee sekvenssi indeksien määrittämiseksi jokaiselle elementille.
  3. Kolmas on lauseiden kokonaisuus. Tämä on paikka, jossa koodi suorittaa työnsä, se toimii toistuvasti joka kerta erilaisella i-arvolla.

2. Silmukoiden ollessa R

Koodilohko suoritetaan, kunnes ehto on väärä (looginen ehto), joka antaa vertailulausekkeen.

Syntaksi:

While (test condition)
(
Body of the statement
)

Virtauskaavio while-silmukassa

Alla oleva diagrammi näyttää while-silmukan vuokaavion R: ssä.

Esimerkki:

No, tässä on esimerkki Some-silmukasta. Lasketaan luvun neliö, kunnes 3.

i <- 1
while(i<=3)
(
print(i*i)
i=i+1
)

lähtö:

1
4
9

Yllä olevassa esimerkissä on selvää, että i ilmoitetaan alun perin 1 ja ehto tässä (i <3), tarkistaa oikean lauseen, koska 1 on pienempi kuin 3. Lauseen kappale suoritetaan ja I arvo on kasvatetaan. Silmukka suoritetaan, kunnes ehto on väärä ja silmukan silmukka poistuu.

3. Toista silmukoita R: ssä

Tämä silmukka auttaa suorittamaan saman koodin toistuvasti, kunnes lopetusolosuhde saavutetaan (tauko). Alla oleva vuokaavio antaa selkeän työnkulun tai toista lauseen. Alussa se käyttää toista avainsanaa, jota seuraa silmukkaan kirjoitetut suoritettavat lauseet ja jos lauseet kuvaavat rajoitusehtoa. Ja lopuksi, ainoa tapa lopettaa silmukka on suorittaa katkeamislausekkeita. Se on vaihtoehto perinteisen ohjelmoinnin tekemättömälle avainsanalle (heijastus siitä).

Syntaksi:

repeat
(
commands
if (condition expression) (
break))

Vuokaavio

Esimerkki:

Katsotaan esimerkki toistolausekkeen ymmärtämiseksi

s <- 1
repeat
(
s <- s+3;
print (s);
if (s>10)
break;
)

ulostulo

4
7
10
13

Esimerkki:

s <- 0
repeat (
s = s+1
print(s)
if (s == 4) (
print (" ends");
break
)
)

lähtö:

1
2
3
4
”Päät”

johtopäätös

Nyt ymmärretään R: n peruskäsitteet ja esimerkit silmukoista. Yhteenvetona voidaan todeta, että silmukoiden käyttö R: ssä vähentää aikaa ja muistin säästöä. Muiden kiistanalaisten silmukoiden käyttö on hiukan hitaampaa. On hyvä, jos yrität laittaa vähän koodia silmukka ja toistolausekkeen käyttö R: ssä tulisi lopettaa oikein ehdoin. Ja Loop: n käyttö R: ssä on edullinen, kun toimenpide toistetaan. Kun olet lukenut kaikki Loop with R -näppäimen keskeiset kohdat, R on toteutettava huolellisesti. Jotta silmukan suorituskykyä voidaan parantaa, välttää silmukan käyttöä intensiivisissä kohteissa. Sillä silmukat ovat melko yksinkertaisia, mutta niiden tulisi välttää ja käyttää vektorointikonseptia, joka on parempi nopeasti.

Suositellut artikkelit

Tämä on ollut opas R-silmukoista. Tässä olemme keskustelleet R-silmukoiden käsitteestä, käytöstä ajan vähentämiseksi, tyypiksi ja esimerkkeinä. Voit myös tarkastella seuraavia artikkeleita saadaksesi lisätietoja -

  1. Silmukoita C ++: ssa esimerkkien avulla
  2. Ruby-komennot
  3. XGBoost-algoritmi
  4. Vaihda lausunto Matlabissa
  5. Johdatus kun taas silmukka R: ssä
  6. Erityyppiset silmukat ja sen edut
  7. Silmukoita VBScript-ohjelmassa esimerkkien kanssa
  8. Erityyppiset silmukat PowerShellissä

Luokka: