elektrik port üyelik servisleri elektrik port üyelik servisleri

R Programlama Fonksiyon, Nesne ve Veri Yapıları |
3. Bölüm

R programlama dilinde fonksiyonlar oluşturmayı öğrendiğimiz bu yazımızda bu dildeki nesnelere ve veri yapılarına değineceğiz. Gelin yazımızı beraber inceleyelim.



A- A+
30.07.2019 tarihli yazı 15406 kez okunmuştur.


R Programlama Dilinde Fonksiyonlar


Fonksiyonlar kodumuzun işlevi bozulmadan okunmasını, anlaşılmasını ve tekrar çağırılmasını kolaylaştıracak şekilde basit parçalara bölmek için kullanılır.
 
Aşağıda  R programlama  üzerinde pow() isimli bir fonksiyon yarattık. İki argüman alıp, birinci argümanın ikinci dereceden kuvvetini yazdıran bu fonksiyonda dizeleri birleştirmek için paste() fonksiyonundan faydalandık.
 


Pow() fonksiyonunu yarattıktan sonra içine argüman göndererek pow(4,3) şeklinde fonksiyonumuzu çağırdık.



Bir fonksiyonu çağırırken,  argümanların sırası önemli değildir. Örneğin, aşağıda verilen tüm fonksiyon çağrıları, sonuçlarından da anlayacağımız üzere eşdeğerdir.



Bazı durumlarda fonksiyonların argümanlarına kendimiz değer atayabiliriz. Böyle bir durumda fonksiyonun çalışmasında bir sorun gözlenmeyecektir. Aşağıdaki örnekte, verilen herhangi bir sayının 2. dereceden kuvvetini alan bir pow fonksiyonu yarattık. Bu fonksiyonu daha sonra çağırıp içine tek bir argüman gönderdiğimizde fonksiyonumuz gönderilen sayının ikinci dereceden kuvvetini alır. Varsayılan olarak belirlenen y argümanına, fonksiyon çağırıldığında başka bir değer ataması yapılırsa y argümanı için en son atanan değer geçerli olacaktır. İkinci örnekte de görüldüğü gibi 2 olarak önceden belirlenen y argümanına 4 tamsayısı gönderilirse pow fonksiyonu 4. dereceden kuvvet alan bir fonksiyona dönüşecektir.


 

R Programlama Dilinde Fonksiyonların Dönüş Değeri


R programlamada çoğunlukla fonksiyonumuzun bir dizi işlemler yapmasını ve sonra sonucu bize döndürmesini isteriz. Böylelikle bu sonucu başka fonksiyonlarda da kullanabiliriz. Bu işlem R programlama dilinde return() fonksiyonu ile gerçekleştirilir.
Aşağıdaki kod parçasında kontrol isimli fonksiyonumuzda if-else kalıbının içindeki kod parçasının dönüş değerini “sonuc” değişkenine atayarak, gönderilen argümanın pozitif, negatif ya da sıfır olduğuna karar veren bir fonksiyon tanımladık.


 

R Programlama Dilinde Özyinelemeli Fonksiyonlar


Kendisini çağıran fonksiyonlara özyinelemeli (recursive) fonksiyonlar denir. Bu teknik bazı durumlarda sorunları daha küçük ve basit parçalara ayırarak çözmeyi kolaylaştırır. Bir örnekle bu kavramı netleştirelim. 1’den 5’e kadar olan tamsayıların faktöriyelini hesaplayan özyinelemeli bir fonksiyon yazalım. Özyinelemeli fonksiyon x sayısı 0’a eşit olmadığı sürece kendisini çağırmaya devam edecektir.


 

R Programlama Dilinde Nesneler


R programlama dilinde nesnelerin özellikleri (attributes) vardır. Nesnenin adı, boyutu (matrix, array), sınıfı, uzunluğu bu özelliklere örnek olarak verilebilir. Bu özelliklere “attributes()” fonksiyonu ile erişebiliriz.
R programlama dilinde 5 temel nesne sınıfı vardır. Bunlar karakter(character), reel sayılar(numeric), tam sayılar(integer), karmaşık sayılar(complex) ve mantıksal(logical) nesnelerdir.


 

R Programlama Dilinde Veri Yapıları


R programlama dilinde vektörler(vector), listeler(list), matrisler(matrix), faktörler(factor) ve veri çerçeveleri(data frame) olmak üzere 5 farklı veri tipi bulunur. Bu veri tiplerini inceleyelim.

1)Vektör


c()” fonksiyonu ile nesnelerden oluşan bir vektör yaratırız.
Bir vektör yalnızca tek bir nesne sınıfına ait elemanlardan oluşabilir.
 

 

Boş vektör oluştururken kullanılan bir fonksiyon da “vector()” fonksiyonudur.


 

Vektörün belirli bir elemanına ulaşmak için indeksleri kullanırız. R programlama dilinde diğer pek çok programlama dilinin aksine indeks 0’dan değil 1’den başlar. 8 elemanlı bir vektörün üçüncü elemanına eriştiğimiz örneği inceleyelim.


 

Vektörlerin elemanlarına erişerek bu elemanlarda değişiklik yapabiliriz.



Bir vektörün elemanlarının veri tipi “typeof()” fonksiyonu ile, vektörün eleman sayısı ise “length()” fonksiyonu ile bulunur.



Vektörlere eleman ekleyebiliriz ya da vektörün tüm elemanlarını silebiliriz. Vektöre eleman eklerken indisi bir arttırarak o indise eleman ataması yapılır. Vektörün elemanlarını silmek için vektöre NULL değer atamak yeterlidir.


2)Liste

Listeler vektörler ile oldukça benzer özellikler gösterir.
Listeler “list()” fonksiyonu ile oluşturulur.
Listeler birden çok veri tipinden oluşan elemanlar içerebilir.
 
Karakter (character) ve reel sayılardan (numeric) oluşan liste örneğini inceleyelim.


 

Bir veri yapısının liste olduğu “typeof()” fonksiyonu ile kontrol edilebilir. Bir listedeki eleman sayısı ise “length()” fonksiyonu ile bulunur.



Listelerin tek tür nesne sınıfından oluşup oluşmadığı “is.atomic()” fonksiyonu ile kontrol edilir. Çıktı “TRUE” ise liste tek tür nesne sınıfından, “FALSE” ise farklı nesne sınıflarının elemanlarından oluşmuştur.



Listelerin elemanları  “”  içinde yazılarak adlandırılabilir. “$” işareti, [] ve [[]] kullanılarak listenin elemanlarına erişilir.


 

Bir listenin sahip olduğu eleman sayısı, bu elemanların sınıfları ve değerleri “str()” fonksiyonu kullanılarak öğrenilir.



Listelerin elemanlarında değişiklikler yapılabilir. Bunun için istenen elemana yeniden atama yapmak yeterlidir.


 

Listelerde eleman ekleme ve çıkarma işlemi yapılabilir. Eleman eklemek için yeni elemanın indeksine atama yapmak yeterlidir. Eleman çıkarmak için ise çıkarılmak istenen elemana “NULL” değeri atanır.


 
Bir sonraki yazımızda veri çerçeveleri, matrisler, faktörler ve dosyalardan veri okumaya değineceğiz.
 
Kaynak :

►Coursera



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

Sonuçlar