R Programlamada Fonksiyon Tanımlama


Merhaba R severler,

Bugün dersimizde R programlamada fonksiyon yapılarına bakacağız. Öncelikle bilgisayar yazılımında fonksiyonun ne olduğuna bir bakalım.  Fonksiyon, bilgisayar üzerinde işlem yapmak amacıyla yazılan bir program içerisinde kendine has işlemler yapan kod bloğudur diyebiliriz. Benzer şekilde R programlama için de kendimize ait spesifik durumlar için fonksiyonlar oluşturabiliriz. Önceki derslerimizden hatırlayacağımız gibi r programlamada komut dizilimi şu şekildedir.

Çıktı <- Komutlar ( Argüman1, Argüman2,….)

Fonksiyon oluştururken de yukarıdaki komut dizilimini takip edeceğiz. R programlamada fonksiyon oluşturmak için “function” komutu kullanılmaktadır. Özetle komut dizilimi şu şekildedir.

Fonksiyon_adi = function(arg1,arg2….)

{

Fonksiyon komutları

}

Fonksiyon komutu içerisinde kullanacağımız “component” dediğimiz nesnelerimize bir göz atalım. Kullanmayı bilmemiz gereken dört adet nesnemiz mevcut

1)      Function Adı : Bu kısımda kullanmak istediğimiz daha doğrusu çağıracağımız fonksiyonun ismini belirliyoruz.

2)      Argüman Adı : diğer derslerimizde hatırlayacağımız gibi her komuta ait bir argüman girilmekteydi fakat oluşturacağımız fonksiyon için böyle bir zorunluluk bulunmamaktadır. Boş  bırakılırsa değer varsayılan şeklinde atanmaktadır.

3)      Fonksiyon Komut Alanı : Bu kısımda fonksiyonun ne iş yapacağını belirliyoruz. Örneğin;

> a=function()

   + x=10+20

Yukarıdaki komut bloğunda a isminde bir fonksiyon tanımladık ve içerisine bu fonksiyonun ne iş yaptığını kodladık. A foknsiyonu içeriğini görebilmek için aşağıdaki komutu girebiliriz.

> a

  function()

  x=10+20

                Görüyoruz  ki a fonksiyonu x=20+10 değerini barındırmakta ve bu işlemi yapmaktadır.

4)      Return Value ( Geri Dönen Değer ): Bu kısımda da fonksiyon içerisindeki son ifadenin geri dönüşü sağlanmaktadır.

Kullanıcının Tanımladığı Fonksiyon (User Defined Function)

Şimdi beraber bir fonksiyon tanımlayalım ve 1’den a sayısına kadar olan rakamların karesini göstersin.

f=function(a)

{

    for (i in 1:a){

    b=i^2

    print(b)

    }

}

Yukarıda f isminde bir fonksiyon tanımladık ve fonksiyonun body kısmına 1’den a ya kadar olan değerlerin karesini ekrana yazdırsın dedik. Peki şimdi bu fonksiyonu nasıl çağıracağız. Kullanımı gayet basit

f(4)

[1] 1

[1] 4

[1] 9

[1] 16

yukarıda f fonksiyonu içerisinde a değişkeni yerine 4 rakamını atadık ve sonuç olarak 1,2,3 ve 4 rakamlarının karelerini ekrana yazdırdık.

Eğer fonksiyon çağırırken argüman kullanmak istemezsek tanımlarken “function()” şeklinde tanımlayıp for döngüsü içerisine de a yerine 4 rakamını yazabilirdik.

Konu ile ilgili soru sormak için form sayfamızı http://scansu.net/forum/showthread.php?tid=13 ya da  sağ alt köşedeki chat penceresini kullanabilirsiniz.

Yazar Kimdir?

Sıtkı Cansu, 19 Ekim 1985 yilinda Konya-Beyşehir'de dogmustur.İlk, orta ve liseyi Beyşehir'de bitirmis olup Konya-Ereğli Selçuk MYO Bilgisayar programcılığı ve Mugla Sıtkı Koçman Üniversitesi İstatistik bölümünden mezun olmustur. Çesitli yerlerde web tasarımcı ve veri tabani yöneticisi olarak çalışan yazar, son üç senedir ingilizce öğretmenliği yapmaktadir. Şu anda yüksek lisansını tamamlamak üzere Mugla Üniversitesinde öğrenim görmektedir.