Döngü için R


Döngüler için

Bir fordizi üzerinde yineleme yapmak için bir döngü kullanılır:

Örnek

for (x in 1:10) {
  print(x)
}

Bu, fordiğer programlama dillerindeki anahtar kelimeye daha az benzer ve diğer nesne yönelimli programlama dillerinde bulunan bir yineleyici yöntemi gibi çalışır.

Döngü ile forbir vektör, dizi, liste vb. içindeki her öğe için bir kez bir dizi ifade çalıştırabiliriz.

Listeler ve vektörler vb. hakkında daha sonraki bir bölümde öğreneceksiniz .

Örnek

Listedeki her öğeyi yazdırın:

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  print(x)
}

Örnek

Zar sayısını yazdırın:

dice <- c(1, 2, 3, 4, 5, 6)

for (x in dice) {
  print(x)
}

Döngü , döngülerde forolduğu gibi önceden ayarlamak için bir indeksleme değişkeni gerektirmez while.


Kırmak

İfadeyle break, tüm öğeler arasında döngü yapmadan önce döngüyü durdurabiliriz:

Örnek

Döngüyü "kiraz" da durdurun:

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  if (x == "cherry") {
    break
  }
  print(x)
}

Döngü "kiraz"da duracaktır çünkü döngüyü "kiraz"a eşit breakolduğunda ( ) ifadeyi kullanarak bitirmeyi seçtik .xx == "cherry"


Sonraki

İfadeyle next, döngüyü sonlandırmadan bir yinelemeyi atlayabiliriz:

Örnek

"Muz" atla:

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  if (x == "banana") {
    next
  }
  print(x)
}

Döngü "muz" u geçtiğinde, onu atlayacak ve döngüye devam edecektir.


Yahtzee!

If .. Else For Döngüsü ile Birleştirilmiş

Pratik bir örnek göstermek için, diyelim ki bir Yahtzee oyunu oynuyoruz!

Örnek

"Yahtzee!" Yazdır Zar sayısı 6 ise:

dice <- 1:6

for(x in dice) {
  if (x == 6) {
    print(paste("The dice number is", x, "Yahtzee!"))
  } else {
    print(paste("The dice number is", x, "Not Yahtzee"))
  }
}

Döngü, 1'den 5'e kadar olan değerlere ulaşırsa, "Yahtzee Yok" ve numarasını yazdırır. 6 değerine ulaştığında "Yahtzee!" yazdırır. ve onun numarası.


İç içe geçmiş döngüler

Ayrıca bir döngünün içinde bir döngüye sahip olabilirsiniz:

Örnek

Her meyvenin sıfatını bir liste halinde yazdırın:

adj <- list("red", "big", "tasty")

fruits <- list("apple", "banana", "cherry")
  for (x in adj) {
    for (y in fruits) {
      print(paste(x, y))
  }
}