R Zatímco smyčka


Smyčky

Smyčky mohou provádět blok kódu, pokud je dosaženo zadané podmínky.

Smyčky jsou užitečné, protože šetří čas, snižují chyby a činí kód čitelnějším.

R má dva příkazy smyčky:

  • whilesmyčky
  • forsmyčky

R Zatímco smyčky

Pomocí whilecyklu můžeme provést sadu příkazů, pokud je podmínka PRAVDA:

Příklad

Tiskněte i, dokud ije méně než 6:

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
}

Ve výše uvedeném příkladu bude smyčka nadále vytvářet čísla v rozsahu od 1 do 5. Smyčka se zastaví na 6, protože 6 < 6je FALSE.

Smyčka whilevyžaduje, aby byly připraveny relevantní proměnné, v tomto příkladu musíme definovat indexační proměnnou , ikterou nastavíme na 1.

Poznámka: nezapomeňte zvýšit i, jinak bude smyčka pokračovat navždy.


Přestávka

Pomocí breakpříkazu můžeme zastavit smyčku, i když je podmínka while TRUE:

Příklad

Opusťte smyčku, pokud ise rovná 4.

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
  if (i == 4) {
    break
  }
}

Smyčka se zastaví na 3, protože jsme se rozhodli ukončit smyčku pomocí breakpříkazu, kdy ise rovná 4 ( i == 4).


další

Pomocí nextpříkazu můžeme přeskočit iteraci bez ukončení cyklu:

Příklad

Přeskočte hodnotu 3:

i <- 0
while (i < 6) {
  i <- i + 1
  if (i == 3) {
    next
  }
  print(i)
}

Když smyčka projde hodnotou 3, přeskočí ji a pokračuje ve smyčce.


Yahtzee!

If .. Else v kombinaci se smyčkou While

Abychom demonstrovali praktický příklad, řekněme, že hrajeme hru Yahtzee!

Příklad

Vytisknout "Yahtzee!" Pokud je počet kostek 6:

dice <- 1
while (dice <= 6) {
  if (dice < 6) {
    print("No Yahtzee")
  } else {
    print("Yahtzee!")
  }
  dice <- dice + 1
}

Pokud smyčka projde hodnotami v rozsahu od 1 do 5, vypíše „No Yahtzee“. Kdykoli překročí hodnotu 6, vypíše „Yahtzee!“.