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:
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.
# 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:
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.
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.
counter <- 1
while (counter <= 3) {
print(counter)
counter <- counter + 1
}Kendin dene
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.
İ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
1:5 dizisi üzerinde yinelenen ve print() işlevini kullanarak her değeri yazdıran bir for döngüsü yazın.
İpucu göster
Amerika Birleşik Devletleri: for (i in 1:5) { print(i) }
3 denemeden sonra çözüm mevcut
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.
İpucu göster
v'nin elemanları arasında döngü: for (val in v) { print(val * 2) }
3 denemeden sonra çözüm mevcut
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.
İpucu göster
İşlevi kullanın: sonuçlar <- ifelse(puanlar >= 60, 'Geçti', 'Başarısız')
3 denemeden sonra çözüm mevcut
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.
İ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