R Dilinde If-Else Kullanımı

Pek çok programlama dilindende olduğu gibi R dilinde de conditional execution işlemi IF ile sağlanabilmekte.

AA

Örnek bir kullanımı R Dilinde Loop Kullanımı yazısı içeriğinde görebilirsiniz. Bu yazıda konuyu biraz daha detaylandıralım1. 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_

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 değerinin 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... 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. Konunun devamı niteliğinde R Öğrenmeye Başlamak başlıklı yazımda yer alan diğer başlıkları da inceleyebilirsiniz.