Ana içeriğe geç
Modül 2 · Ders 2 ders 2Kurstaki 4/10~12 min
Modül dersleri (2/2)

Koşul Cümleleri ve Döngüler

R'de karmaşık algoritmaları ve prosedürleri uygulamak için hangi talimatların yürütüleceğini ve bunların kaç kez tekrarlanacağını kontrol edebilmeniz gerekir.

Koşullu İfadeler

R'de temel koşullu yapı if ve else'ye dayanmaktadır. Sözdizimi JavaScript veya C gibi dillere çok benzer:

R
score <- 85

if (score >= 60) {
  print("Passed!")
} else {
  print("Failed.")
}

Kıvrımlı parantez {} parantez içindeki boole ifadesinin sonucuna bağlı olarak çalıştırılacak kod bloklarını tanımlar.

for Döngüsü

R'deki for döngüsü, bir dizideki (vektör veya liste gibi) öğeler üzerinde yineleme yapmak için kullanılır.

R
# Print numbers from 1 to 3
for (i in 1:3) {
  print(i)
}

R'de 1:3 sözdizimi c(1, 2, 3) vektörünü oluşturmanın kısa yoludur.

Ayrıca doğrudan mevcut bir vektörün elemanları üzerinde de döngü yapabiliriz:

R
fruits <- c("apple", "banana", "cherry")

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

ifelse İşlevi

R'de ifelse() işlevi, if-else ifadesinin vektörleştirilmiş bir sürümüdür. Tek bir işlemle bir vektörün tamamına bir koşul uygulamanıza ve sonuçların bir vektörünü döndürmenize olanak tanır.

R
scores <- c(55, 80, 45, 90)
# Se score >= 60 assegna "Pass", altrimenti "Fail"
results <- ifelse(scores >= 60, "Pass", "Fail")
print(results) # "Fail" "Pass" "Fail" "Pass"

while Döngüsü

while döngüsü, belirli bir koşul doğru kaldığı sürece (TRUE) bir kod bloğunu tekrarlamak için kullanılır. Sonsuz döngüleri önlemek için koşulun sonunda yanlış olmasını sağlamak önemlidir.

R
counter <- 1
while (counter <= 3) {
  print(counter)
  counter <- counter + 1
}

Kendin dene

Egzersiz#r.m2.l2.e1
Denemeler: 0Yükleniyor…

Değişken puanının 60'a eşit veya büyük olup olmadığını kontrol eden bir if-else koşullu ifadesi yazın. Eğer öyleyse, durumu 'Geçti' olarak ayarlayın, aksi halde 'Başarısız' olarak ayarlayın.

Düzenleyici yükleniyor…
İpucu göster

Doğrulama puanı >= 60 ve değerlendirme durumu <- 'Geçti' veya durum <- 'Başarısız'

3 denemeden sonra çözüm mevcut

Egzersiz#r.m2.l2.e2
Denemeler: 0Yükleniyor…

1:5 dizisi üzerinde yinelenen ve print() işlevini kullanarak her değeri yazdıran bir for döngüsü yazın.

Düzenleyici yükleniyor…
İpucu göster

Amerika Birleşik Devletleri: for (i in 1:5) { print(i) }

3 denemeden sonra çözüm mevcut

Egzersiz#r.m2.l2.e3
Denemeler: 0Yükleniyor…

v vektörü verildiğinde, her öğe üzerinde yinelenen ve print() işlevini kullanarak çiftini (val * 2) yazdıran bir for döngüsü yazın.

Düzenleyici yükleniyor…
İpucu göster

v'nin elemanları arasında döngü: for (val in v) { print(val * 2) }

3 denemeden sonra çözüm mevcut

Egzersiz#r.m2.l2.e4
Denemeler: 0Yükleniyor…

Vektör puanları göz önüne alındığında, hangi öğelerin 60'tan büyük veya ona eşit olduğunu kontrol etmek için ifelse() işlevini kullanın. Sonucu (her öğe için 'Başarılı' veya 'Başarısız' içerecektir) değişken sonuçlarına kaydedin.

Düzenleyici yükleniyor…
İpucu göster

İşlevi kullanın: sonuçlar <- ifelse(puanlar >= 60, 'Geçti', 'Başarısız')

3 denemeden sonra çözüm mevcut

Egzersiz#r.m2.l2.e5
Denemeler: 0Yükleniyor…

X'in değerini 50'yi aşıncaya kadar iki katına çıkarmak için while döngüsünü kullanın. Ayrıca her yinelemede sayaç değişkenini artırın.

Düzenleyici yükleniyor…
İpucu göster

Bir while döngüsü kullanın (x <= 50) ve küme parantezlerinin içindeki hem x'i hem de sayacı güncelleyin.

3 denemeden sonra çözüm mevcut