Loopi jaoks R - How For Loop töötab R-s koos näidete ja süntaksiga

Lang L: none (table-of-contents):

Anonim

Sissejuhatus ettevõttele Loop

Tingimus A silmuse jaoks on täidetud, et võimaldada komplektil end korrata, kuni nõutav tingimus on saavutatud. Silmused on väga kasulikud juhuks, kui tuleb korrata suurt hulka elemente või täisarvu. Silmuse jaoks saab kasutada andmeraami, vektori või mis tahes objekti kaudu. Olukorras, kus sarnast funktsiooni tuleb korduvalt täita, kasutatakse pingutuse ja aja vähendamiseks silmust. Näiteks kui teil on vaja printida 100 juhuslikku arvu vahemikus 1 kuni 1000, saame selle saavutamiseks hõlpsalt kasutada loo-ahela tingimust, ilma et peaksime printimisavaldust kasutama 100 korda. Selles teemas õpime For Loopi kohta R-is.

Silmuse süntaksi jaoks

Silmuse süntaks R-s sarnaneb pütooni või mõne muu keelega. Allpool on R silmuse süntaks.

Süntaks:

for (val in sequence) (
Statement
)

Ülaltoodud süntaksis on vektor tähistatud järjestusega ja val on vektori väärtus For Loopi ajal.

Vaatame nüüd vooskeemi abil silmusetingimuste jaoks ette nähtud protsessi. Jada iga üksuse korral kordub silmus kuni nõutud tingimuse saavutamiseni. Tingimust kontrollitakse ja kui viimane element on jõudnud, on kompilaator silmus olemas.

Struktuur koosneb initsialiseerimisest, mida näidatakse kui „init”, rombist, mis on otsustuskast, ja ristkülikukujulisest kastist, mis on silmuse keha. Täites käsu komplekti silmuse tingimustes, ei käivita kompilaator silmust enne, kui tingimus on täpsustatud. Kui ühtegi tingimust pole saadaval, käivitatakse järgmine käsk pärast ahelat. Jada iga üksuse jaoks on tingimus vastavuses. Kuni tingimust ei täideta, läheb silmus ikka ja jälle. Kui viimane üksus või tingimus on täidetud, on kompilaator silmus.

Kuidas loop töötab R-s?

Enne kui õppida, kuidas For Loop töötab R-s, vaatame, mis on silmus või silmus. Silmus või iteratsioon, mis on põhimõtteliselt käsk korrata, pärineb juba pikalt tagasi. Lihtsamalt öeldes on see protsessi automatiseerimine, grupeerides teatud vajalikud funktsioonid osade kaupa. Suuremal osal kaasaegsest programmeerimiskeelest on sisseehitatud silmusfunktsioon, mis võimaldab automaatse funktsiooni üles ehitada. Loopimisfunktsioonid võib jagada kaheks osaks, juhitavateks silmusteks, mida saab teostada soovitud arv kordi, kuulub silmusperekonda. Teisest küljest kuuluvad teatud tingimuste komplektil põhinevad silmused samasse ringi.

Selles artiklis uurime silmuste saamiseks erinevaid meetodeid, mis on R-is saadaval. Järgnevalt vaatleme erinevaid silmusnäiteid, kasutades R-raamatukogus saadaolevaid funktsioone. R-keeles töötades Kuna silmused on ainult nõutavad silmustingimused, võib harva olla vaja muid silmustingimusi, näiteks ajal. Vaatame, kuidas For-silmust arvväärtuste iteratsiooniks kasutatakse.

# for printing number from 9 to 99 usinf for loop
> for(i in 9:99)(
+ print(i)
+ )
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15
(1) 16
(1) 17
(1) 18
(1) 19
(1) 20
(1) 21

Ülaltoodud näites võtab muutuja “i” silmuse ja korratakse seda seni, kuni tingimus on täidetud. Muutuja „i” trükkimine ahela sees annab meile väärtused vahemikus 9 kuni 99. Vaatame veel ühte näidet, kus kasutatakse tähti.

# for printing and looping items in example vector
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:4)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"
(1) "base"
# In case we don't want the entire loop to be executed
# loop can be stopped with the help of break condition
# In the below example the fourth element will not be printed.
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:3)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"

Ülaltoodud näites trükime näitest soovitud elemendid välja. Esimeses näites kutsutakse järjestuses välja neli elementi, järelikult on kõik elemendid prinditud pärast printimisavalduse täitmist. Teises näites on jada kutsutud kuni kolmanda elemendini, järelikult trükitakse kolm esimest elementi.

Teisest küljest on olemas tingimus, mida nimetatakse kordussilmuseks, millel on sarnane funktsioon kui silmusel. Kordusolukorda kasutatakse aga korratuks itereerimiseks ilma tingimuste kontrollimiseta.

Kasutaja peab määratlema ahelas oleva tingimuse ja ahelast väljumiseks tuleb kasutada murdumisavaldust. “Break” avalduse kasutamata jätmine põhjustab lõpmatu silmuse.

# illustrating repeat statement to print numbers from 5 to 15
> n <- 5
> repeat
+ (
+ print(n)
+ n = n+1
+ if (n == 16)(
+ break
+ )
+ )
(1) 5
(1) 6
(1) 7
(1) 8
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15

Ülaltoodud näites oleme määranud tingimuse n == 16, nii et kompilaator peatab silmuse, kui n == 6 on saavutatud.

Silmusnäidete jaoks

Silmuste kasutuselevõtuks R-s võetakse näide elementide või üksuste vektorist eraldamise kohta.

> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'utah')
>
>
> for (str in states) (
+ print(paste("States in USA: ", str))
+ )
(1) "States in USA: Oregon"
(1) "States in USA: Florida"
(1) "States in USA: Texas"
(1) "States in USA: Lowa"
(1) "States in USA: Nebraska"
(1) "States in USA: utah"
# to illustrate the print operation outside the loop
> print("----prints outside the loop---")
(1) "----prints outside the loop---"

Samm 1

On määratletud vektoriga nimetatud olekud, mis koosnevad erinevatest olekutest

> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'Utah')

2. samm

Järgmises etapis kasutatakse silmuse jaoks olekute vektori iteratsiooni ja olekute individuaalse nime kuvamiseks.

> for (str in states) (
+ print(paste("States in USA: ", str))
+ )

Kuna prindiavaldus on lisatud aasa, saame soovitud tulemused ja kõik olekute nimed trükitakse. Järgmises etapis kasutatakse väljaspool silmust veel ühte printimisavaldust, mis praktiliselt käivitub, kui silmuse jaoks ots lõpeb.

Nüüd vaatame koodi täitmise ajal iga iteratsiooni taga olevat loogikat.

  1. Esimese iteratsiooni ajal olek = Oregon on vektorisse jäänud elemente. Seega täidab printimisavalduse ahelas olev kompilaator.
  2. Teise iteratsiooni ajal, State = Florida, on vektorisse jäänud veel neli elementi. Seega täidab printimisavalduse ahelas olev kompilaator.
  3. Kolmanda iteratsiooni ajal, seisukord = Texas, on vektorisse jäänud veel kolm elementi. Seega täidab printimisavalduse ahelas olev kompilaator.
  4. Neljanda iteratsiooni ajal olek = Lowa on vektorisse jäänud veel kaks elementi. Seega täidab printimisavalduse ahelas olev kompilaator.
  5. Viienda iteratsiooni ajal olek = Nebraska on vektorisse jäänud veel üks element. Seega täidab printimisavalduse ahelas olev kompilaator.
  6. Kuuenda iteratsiooni ajal, olek = Utah, vektorisse võib jääda elemente. Seega täidab printimisavalduse ahelas olev kompilaator.
  7. Seitsmenda iteratsiooni ajal väljub kompilaator silmusest, kuna olekumuutujale pole rohkem elemente, mida määrata.

Järgmises näites vaatame täisarvude korral silmuse funktsionaalsust.

> num <- c(1:5)
>
> for (i in num) (
+ print(i)
+ )
(1) 1
(1) 2
(1) 3
(1) 4
(1) 5

Samm 1

Määratletud on vektor nimega num, mis koosneb täisarvudest 1 kuni 5

> num <- c(1:5)

2. samm

Järgmises etapis kasutatakse silmuse jaoks num-vektori iteratsiooni ja üksikute täisarvude kuvamiseks.

> for (i in num) (
+ print(i)
+ )

Kuna prindiavaldus on lisatud aasa, saame soovitud tulemused ja kõik täisarvud vektorist num prinditakse.

Nüüd vaatame koodi täitmise ajal iga iteratsiooni taga olevat loogikat.

  1. Esimese iteratsiooni ajal on “1” vektorisse jäänud elemendid. Seega täidab printimisavalduse ahelas olev kompilaator.
  2. Teise iteratsiooni ajal “2” on vektorisse jäänud veel kolm elementi. Seega täidab printimisavalduse ahelas olev kompilaator.
  3. Kolmanda iteratsiooni ajal “3” on vektorisse jäänud veel kaks elementi. Seega täidab printimisavalduse ahelas olev kompilaator.
  4. Neljanda iteratsiooni ajal “4” jääb vektorisse veel üks element. Seega täidab printimisavalduse ahelas olev kompilaator.
  5. Viienda iteratsiooni “5” ajal võib vektorisse jääda elemente. Seega täidab printimisavalduse ahelas olev kompilaator.
  6. Kuuenda iteratsiooni ajal väljub kompilaator silmusest, kuna num muutuja jaoks pole enam elemente, mida määrata.

Järeldus - silmuse jaoks R-s

Selles artiklis nägime, kuidas saab silmusetingimusi täita R abil, ülaltoodud toimingute tegemiseks on kasutatud R stuudiot ja tulemused on kuvatud. Lisaks oleme näinud näidet elementide või üksuste vektorist eraldamise kohta ja artiklis on uuritud iga etapi hindamist.

Soovitatavad artiklid

See on juhend For Loopi jaoks R. Siin arutatakse sobivate näidete ja süntaksi abil, kuidas loop töötab R-is. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Loopi jaoks Pythonis
  2. C # silmuse jaoks
  3. Lingid Java programmeerimises
  4. Silmused R
  5. Loopi jaoks C-s