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ı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.