R Dilinde If…Else… Kullanımı

Pek çok programlama dilindende olduğu gibi R dilinde de conditional execution işlemi IF ile sağlanabilmekte. Örnek bir kullanımı R Dilinde Loop Kullanımı yazısı içeriğinde görebilirsiniz. Bu yazıda konuyu biraz daha detaylandıralım.

Mantıksal karar işlemlerinde (decision making statements) kullanacağımız IF’e dair aşamalı olarak örneklere değineceğim. En temel biçimi ile başlayalım o halde.

if (expr_1) expr_2 else expr_3

Unutmadan, short-circuit operatörler (&& ve ||) ayrıca şartların (condition) tanımlanması aşamasında IF içeriğinde kullanılabilmekte.

IF Kullanımı

number <- 5 if(number > 0){
  print(paste(number, "is a positive number"))
}
print("Other numbers...")

Örnekte number değişkenine 5 değerini atıyoruz. if içeriğinde number’ın 0’dan büyük olması durumunda ekrana değer olarak atanan sayı ile birlikte is a positive number ifadesini ekliyoruz ve işlem devam ettiği için Other numbers… da ekrana yansıyor.

IF…ELSE Kullanımı

IF…ELSE kullanımında IF ile tanımlanan mantıksal şartın sağlanmaması durumunda ilk kod bloğu (expr_2) es geçilip ELSE içeriği (expr_3) uygulanacaktır. Yukarıdaki örnek üzerinden ilerleyelim.

number <- 4 if(number > 5){
  print(paste(number, "is a bigger than", 5))
} else {
  print(paste(number, "is a lower than", 5))
}
print("Other numbers...")

Örnekte number değerini değiştirerek çıktı farklılıklarını görüntüleyebilirsiniz. IF statement içeriğindeki şart number’ın alacağı değerin 5’ten büyük olması durumunda number, “is a bigger than”, 5 içeriğini ekrana dökecektir. Aksi durumda ise ELSE içeriğinde tanımlanan işlem gerçekleştirilecektir. Bizim uyguladığımız kod bloğunda number değeri 5 veya daha küçük bir sayıysa number, “is a lower than”, 5 değeri ekrana basılır.

Alternatif bir IF…ELSE… kullanım örneği;

if(number > 0) print("Non-negative number") else print("Negative number")

Çoklu ELSE IF Kullanımı

IF…ELSE… örneğini açıklarken mantıksal işlemin IF şartına bağlı olduğunu, verilen değer 5 ise işlemin gerçekleşeceğini, değil ise diğer işleme geçileceğini belirtmiştim. Peki, bu şart akışı içerisinde ek tanımlamalar yapmak istersen? Elbette birden fazla IF kullanmak mümkün.

number <- 0
if (number < 0) { print("Negative number") } if (number > 0) {
  print("Positive number")
}
if (number == 0) {
  print("Zero")
}

Böyle bir durumda her IF içeriği için şartların tanımlanması gerekecektir. Ancak, daha pratik bir yöntem olarak aynı şart bağlamında ELSE IF kullanımı tercih edilebilir.

number <- 0
if (number < 0) { print("Negative number") } else if (number > 0) {
  print("Positive number")
} else {
  print("Zero")
}

En temelde IF, IF…ELSE… ve IF…ELSE IF…ELSE… kullanımlarını bu şekilde açıklayabiliriz. Son bir örnek olarak, yazının başında belirttiğim short-circuit operatörler (&& ve ||) ile ilgili bir örneği inceleyelim.

a <- 10
b <- 100
c <- 50 if(a>b && a>c){
  print("A is bigger than others!")
} else if(b>a && b>c){
  print("B is bigger than others!")
} else {
  print("C is the biggest one!")
}

Evet, şimdilik bu yazı başlığı dahilindeki örnekler ve açıklamalar bu kadar.

Leave a Reply