BİLGİ SAYAMIYORUM beta

R da nasıl fonksiyon oluşturulur, if-else, for, while, repeat ifadeleri nasıl yazılır?

0

R bir programlama dilidir ve çevresinde yer alan araçlarla birlikte sıklıkla programcı olmayan insanlar tarafından kullanılır. Bunun sebebi istatistiksel işler, data analizi ve araştırma yapanlar için fazlasıyla işlevsel ve hızlı sonuç veren bir yapıda olmasıdır. İş ya da okul gereği denk geldiyseniz zaten önünüze bilgiler sunulacaktır ama onun dışında şuradaki sitesinden kısaca incelemeye başlayabilirsiniz: R Project

Her programlama dilinde olduğu gibi buna da değişken belirlemek ve onu basit bir fonksiyon içerisinde kullanarak işe başlayabiliriz. Örnek olarak x ile y yi çarpıp ekrana yazdıran bir program yazabiliriz:

x <- 7
y <- 4
cebirCarp <- function(a, b) {
     sonuc <- a*b
     print(paste(a," carpi ", b, " esittir ", sonuc))
}
cebirCarp(x, y)

Burada kullandığım "paste" fonksiyonu da sonuç gösterirken, değişkenleri yazılar ile birleştirmenizi sağlayan pratik bir fonksiyon. Bu işlemin çıktısı "7 carpi 4 esittir 28" olmalıdır. Mesela x e 7 değerini atayıp, sonra x in değeri 5 ten büyükse ekrana "1" değilse "0" yazdıralım:

x <- 7
if(x > 5){
     1
} else {
     0
}

İşlemin sonucu tabii ki "1" olacaktır. Bu işlemi tek satırda yapmak isterseniz şunu kullanabilirsiniz:

if(x > 5) 1 else 0

Vektörlerle yani listelerle çalışırken kullanabileceğiniz "ifelse" kullanımı pek sık göremeyeceğiniz lisp benzeri çalışan bir ifade. Bunu virgülle ayrılmış 3 parametre ile çağırıyorsunuz; test etmek istediğiniz ifade, doğru ise olacak şey, yanlış işe olacak şey şeklinde. Sonucu size başka bir işaretçi koymadıysanız sadece boşluklar bırakarak veriyor:

list = c(3,4,5,6,7)
ifelse(list>5, 1, 0)

Mesela üstteki işlemin sonucu sadece 6 ve 7, 5 ten büyük olduğu için "0 0 0 1 1" olacaktır. For ve While ifadeleri diğer dillere göre burada pek değişmiyor. Örnek olarak "x" değeri "0" dan büyük olduğu sürece ekrana "x" değerini basıp, o değeri 1 azaltacak bir while ifadesi yazalım:

x <- 7
while (x > 0) {
     print(x)
     x = x-1
}

Bu işlem tabii ki 7 satır sürecektir. Başka bir örnek olarak for döngüsü oluşturalım, mesela bir listedeki elemanları toplayıp sonucu yazdıran bir ifade olsun:

list = c(3,4,5,6,7)
toplam <- 0
for (eleman in list) {
     toplam = toplam + eleman
}
print(toplam)

R da ayrıca repeat adında sürekli tekrar yaptırabileceğiniz bir ifade de bulunuyor, bunun da durdurma koşulunu içine "break" koyarak sağlayabilirsiniz. Mesela 0 dan 11 e kadar 2şer artarak sayan bir fonksiyon yazalım:

x <- 0
repeat {
     print(x)
     x = x+1
     if (x == 11){
          break
     }
}

Şimdilik bu kadar yeter diye düşünüyorum, eğer başka dillerden zaman kalırsa R da ekleme yapmak isterim.

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER