elektrik port üyelik servisleri elektrik port üyelik servisleri

R Programlama Kontrol Deyimleri ve Fonksiyonlar |
5. Bölüm

R programlama dilinin özelliklerine değindiğimiz yazı serisinin bir önceki bölümünde farklı veri yapılarından bahsetmiştik. R Programlama 5. bölümde diğer programlama dillerinde de sıklıkla kullandığımız kontrol deyimlerinden ve fonksiyonlardan bahsedeceğiz. Gelin yazımızı birlikte inceleyelim.



A- A+
25.03.2020 tarihli yazı 6716 kez okunmuştur.

4. Bölüme Ulaşmak İçin Tıklayınız
 


1. Kontrol Deyimleri

 
Pek çok programlama dilinde olduğu gibi R programlama dilinde de kontrol deyimlerini yazdığımız kodun akışını ve çalışmasını kontrol etmek için kullanırız.

 

► if, else: bir durumu test etmek için kullanılır.

► for: kodun belli bir kısmını defalarca kez çalıştırmak için kullanılır.

► while: kodun sadece belli koşullar dahilinde çalışmasının istendiği durumlarda kullanılır.

► repeat: sonsuz bir döngünün çalıştırıldığı durumlarda kullanılır.

► break: bir döngünün çalışmasını sonlandırmak için kullanılır.

► next: bir sonraki döngüye geçmek için kullanılır.

► return: bir döngüden değer döndürmek için kullanılır.

 

1.1. If-Else

 

If-else kontrol deyimlerini belli bir durumu test etmek için kullandığımızı belirtmiştik. If-else kullanımının birden fazla yöntemi vardır. Aynı durumu kontrol etmek için kullanabileceğimiz iki farklı örneği inceleyelim. Bu durumda kendi belirlediğimiz x sayısı, 3’ten büyükse y sayısına 10, değilse 0 değerini atıyoruz.
 

                                   

 

1.2. For
 

For döngüsü if-else deyimlerinden farklı olarak döngüyü birden fazla kez çalıştırmak için bir tam sayı değer alır. For döngüsünün nasıl kullanıldığını 4 farklı örneği inceleyerek pekiştirelim.

 

                
 

For yapısını kullanarak iç içe döngüler yaratmak da mümkündür. Ancak iç içe çok fazla döngü yaratmak bir seviyeden sonra kodun okunmasını zorlaştırabilir.
 

 
           

1.3. While

 


While döngüleri çalışmaya öncelikle verilen durumu kontrol etmekle başlar. Eğer döngü içine yazılan şart doğru ise kod parçası çalışır. While kullanarak ile 1’den 10’a kadar saydığımız aşağıdaki örneği inceleyelim.
 

 
 

Tek bir kod parçasında birden fazla döngü ve birden fazla şart kullanılabilir. Aşağıdaki örnekte rbinom() fonksiyonu kullanılmıştır. Rbinom() sırayla görmek istediğimiz gözlem sayısı, gözlem başına belirlediğimiz deneme sayısı ve her deneme için belirlediğimiz başarı olanağını parametre olarak alan bir fonksiyondur. Bu örnekte gözlemlediğimiz gibi bazı döngüler her çalıştığında farklı çıktılar üretebilir bu sebeple bu döngülerin ne zaman sonlanacağı bilinemez. Kodlama aşamasında bu gibi durumlara dikkat edilmelidir.
 

      

 
 

1.4. Break

 

Tekrarlayan bir döngü, bir kod bloğu üzerinde birkaç kez yineleme yapmak için kullanılır. Tekrar döngüsünden çıkmanın yolu break kullanmaktır. Aşağıdaki döngüde 1’den 5’e kadar olan tamsayıları içeren döngü 3 değerini aldığında sonlanacaktır.
           

 


 

1.5. Next

 

Next ifadesi, bir döngüyü sonlandırmadan döngüyü atlamak istediğimizde kullanılır. Next kullanıldığında o sırada çalışması gereken basamak atlanır ve döngünün bir sonraki tekrarına başlanır.
 



Aşağıdaki örnekte val değeri 3’e eşit olduğunda tekrarlama durur ancak döngü çalışmaya bir sonraki basamaktan devam eder. Böylelikle 4 ve 5 tam sayı değerleri ekrana çıktı olarak verilmiş olur.

 



1.6. Repeat

Tekrarlayan bir döngü bir kod bloğu üzerinde birkaç kez yineleme yapmak için kullanılır. Döngüden çıkmak için bir koşul kontrolü yoktur bu sebeple döngüden çıkmak için break ifadesini kullanmak gerekir. Break ifadesinin kullanılmaması sonsuz bir döngüye sebep olur.
 

 

1.7. Return


Programlarımızda sıklıkla fonksiyonların bazı işlemler yapmasını ve bu işlemler sonucunda bize bir sonuç döndürmesini isteriz. Bu işlem return() fonksiyonu kullanılarak gerçekleştirilir. Girilen tam sayının pozitif, negatif ya da sıfır olduğunu kontrol ettiğimiz ve “sonuc” değerini döndürdüğümüz aşağıdaki basit örneği inceleyelim.
 

 

2. Fonksiyonlar

 


 

Fonksiyonlar, programlama dillerinde sıklıkla kullandığımız yapılardır. Fonksiyonlar bizi birden çok kez ihtiyaç duyduğumuz işlemleri yapmak için her seferinde aynı kodu yazmaktan kurtarır. Bir fonksiyon oluşturduğumuzda o fonksiyonu defalarca çağırabiliriz. Parametre olarak gönderilen iki sayıyı toplayan fonksiyon örneğini inceleyelim.

 

 
R’ın bize sağladığı veri setlerinden biri olan airquality veri setininin ilk 18 satırından oluşan görseli inceleyelim. 

 

 
 

Airquality veri setindeki sütunlarının ortalamalarını hesaplamak için oluşturduğumuz sütun_ortalama_hesapla() isimli fonksiyon örneğini inceleyelim.

 
 

Bu fonksiyonda airquality veri setinin sütunlarını sütun değişkenine atıyoruz. Daha sonra bu sütunlardaki sayısal değerleri ortalama değişkenine atayıp oluşturduğumuz for döngüsü sayesinde sütunların ortalamalarını hesaplıyoruz. Toplam 6 sütundan oluşan veri setinde her sütun için ortalama değerlerini hesapladığımızda 6 değer elde ediyoruz. Veri setinin ilk iki sütununda NA ile gösterilen eksik veriler olması nedeniyle ilk iki sütunun ortalama değerlerini hesaplamak için eksik verilerin veri setinden çıkarılması gerekmektedir. Complete.cases() fonksiyonunu kullanarak kayıp verileri veri setimizden çıkardıktan sonra tüm sütunların ortalamasını hesaplayabiliriz.
 


 


2.1. Özyinelemeli Fonksiyonlar

 
Kendi kendini çağıran fonksiyonlara özyinelemeli(recursive) fonksiyon denir. Pek çok programlama dilinde özyinelemeli fonksiyonlar sıklıkla kullanılır, karşımıza en çok çıkan örneklerinden biri de özyinelemeli faktöriyel ya da fibonacci sayısı hesaplamalarıdır.

 

 

 
Bir sonraki bölümde R’da kapsama kurallarına, zaman ve tarih fonksiyonlarının kullanımına değineceğiz.

Not: R programlama yazı serisinin ilk 5 bölümünü incelediyseniz kendinizi test etmek için R dilini kullanarak basit bir hesap makinesi tasarlayabilirsiniz. Bunun için RStudio ve ya Jupyter Notebook kullanabilirsiniz. Başarılar!

 

1 | 2 | 3 | 4   Önceki Bölümler

 
 
KAYNAK: 


► Tutorialspoint
► Coursera
► Datamentor


Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar