Dr. Kubra Atalay Kabasakal
Aralık 2021
R’da fonksiyon yazarken sıklıkla kullanılan koşullu önermeler, mantıksal (Boolean) operatörler (TRUE ve FALSE), if(), else(), else if(), ifelse(), while(), switch() fonksiyonlarından oluşur.
Koşullu önermelerin fonksiyonlardaki kullanım amacı koşulları ve değişkenleri mantıksal ve işlemsel ifadelerle karşılaştırmak ve karşılaştırılan koşullar üzerinden işlemler yapmaktır.
R hem bir istatistiksel analiz programı hem de bir yazılım dilidir.
Hazır tanımlı fonksiyonların çoğu interaktif istatistiksel analiz amacıyla yazıldığından, programlar açısından kararlı sonuçlar vermeyebilir.
Ancak iyi bir programlama sonucunda kararlı sonuçların elde edilmesi gerekir.
Birçok hazır tanımlı fonksiyon aldığı girdiye göre farklı türde çıktılar verir.
Bir durumda vektör çıktısı veren bir fonksiyon başka bir durumda veri seti çıktısı verebilir.
Bu da zayıf, tekrar kullanılabilirliği güç kodlar yazılmasına neden olur.
Ayrıca bazı fonksiyonların olağan argümanları istenen çıktıya ulaşılmasını zorlaştırır.
Bu nedenle kullanıcı tanımlı fonksiyonlarda istenmeyen çıktıların engellenmesi için bilgilendirici mesajlar sunulmalı ya da fonksiyonun çalışması durdurulmalıdır.
Bu işlemler mantıksal operatörler aracılığıyla yapılabilir.
Mantıksal operatörlerde iki değerin birbirine eşit olup olmadığının karşılaştırılması “==” operatörüyle yapılır. Karşılaştırma sonucu eşitliğin doğru (TRUE) ya da yanlış (FALSE) olduğu çıktısı elde edilir.
Karşılaştırma ifadelerinin önüne getirilen “!” operatörü olumsuz durum (NOT) anlamına gelir.
Mantıksal operatörler sayısal değerlerde kullanılacağı gibi karakter değerlerde de kullanılır.
R’da büyük harf küçük harf duyarlılığı bulunur.
Mantıksal operatörlerde büyüklük ve küçüklük ifadeleri sırasıyla “>” ve “<” operatörleri kullanılarak yapılır.
Mantıksal operatörlerde sınama/karşılaştırma işlemi değişkenler ve nesneler üzerinden de yürütülebilir.
Nesnenin tek elemanlı olması durumu
“!” ifadesinin değişkenden önce ya da eşitlikle beraber yazılması arasında bir fark bulunmaz.
Nesnenin birden fazla elemana sahip olması durumu
## [1] 12 10 11 17 13 9 8 16 18 23
## [1] TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE TRUE TRUE
İki vektörün aynı uzunlukta olması durumu
## [1] TRUE TRUE FALSE
İki vektörün farklı uzunlukta olması durumu
## [1] TRUE FALSE FALSE
İki vektörün farklı uzunlukta olması durumu
## [1] TRUE FALSE FALSE
İki vektörün farklı uzunlukta olması durumu
## Warning in c(1, 2) == c(2, 4, 1): longer object length is not a multiple of
## shorter object length
## [1] FALSE FALSE TRUE
Mantıksal sınamalarda sıklıkla kullanılan başka bir ifade ve (&) veya (|) operatörleridir.
Mantık ve matematikte sıklıkla kullanılan bu ikiliden ve (&) karşılaştırılan iki durumun da var olmasını, veya (|) ise karşılaştırılan durumlardan en az birinin var olmasını dikkate alır.
Aşağıdaki örnekte “x” ve “y” olmak üzere iki vektör tanımlanmıştır.
## [1] -2 -1 0 1 2
## [1] -1 0 1 2 3
Sonucu verecek önermeyi sadece x vektorü ile oluşturunuz.
## [1] FALSE FALSE TRUE TRUE TRUE
Sonucu verecek önermeyi sadece y vektorü ile oluşturunuz.
## [1] TRUE TRUE TRUE FALSE FALSE
Aşağıdaki örnekte “x” ve “y” olmak üzere iki vektör tanımlanmıştır.
## [1] -2 -1 0 1 2
## [1] -1 0 1 2 3
Sonucu verecek önermeyi sadece x ve y vektorü ile birlikte oluşturunuz.
## [1] FALSE FALSE TRUE FALSE FALSE
Sonucu verecek önermeyi sadece x ve y vektorü ile birlikte oluşturunuz.
## [1] TRUE TRUE TRUE TRUE TRUE