R Dili

R Programlama Dili Örnekleri

Bu sayfa R programlamanın temel kavramları hakkında örnekler içerir.

Aşağıda listelenen tüm bu örnekler üzerinde çalışma kaynağı kodu verdik. Ancak, kontrol etmeden önce kendi başınıza kod yazmanızı öneririm. Çünkü deneyerek öğrenme, R de dahil olmak üzere herhangi bir programlama dilini öğrenmenin en iyi yoludur.

R “Merhaba Dünya” Programı

Print() işlevini kullanarak ekranda “Merhaba Dünya” yazısını gösteren basit bir program.

print("Merhaba Dünya"); # "Merhaba Dünya"
print("Merhaba Dünya", quote = FALSE) # Merhaba Dünya
print(paste("Merhaba","Dünya","Nasılsın?")) # "Merhaba Dünya Nasılsın?"

Çıktı:

> print("Merhaba Dünya"); # "Merhaba Dünya"
[1] "Merhaba Dünya"
> print("Merhaba Dünya", quote = FALSE) # Merhaba Dünya
[1] Merhaba Dünya
> print(paste("Merhaba","Dünya","Nasılsın?")) # "Merhaba Dünya Nasılsın?"
[1] "Merhaba Dünya Nasılsın?"

Bu programda, Merhaba Dünya dizesini yazdırmak için print() işlevini kullandık.

Tırnaklar varsayılan olarak yazdırılır. Bundan kaçınmak için quote = FALSE argümanını seçebilirsiniz.

Birden fazla öğe varsa, dizeleri bir araya getirmek için paste() veya cat() işlevini kullanabiliriz.

R İki Vektörü Toplama Programı

Bu örnekte, R operatörlerini kullanarak iki vektörü toplamayı öğreneceksiniz.

x <- c(3,6,8)
y <- c(-2,9,0)

x+y

x + 1 # 1 -> (1,1,1) şeklinde dönüştürülür

x + c(1,4) #vektör uzunlukları aynı olmadığı için hata verir

x + c(1,4,1) #vektörünü (1,4,1) olarak değiştirdik

Çıktı:

> x <- c(3,6,8)
> y <- c(-2,9,0)
> 
> x+y
[1]  1 15  8
> 
> x + 1 # 1 -> (1,1,1) şeklinde dönüştürülür
[1] 4 7 9
> 
> x + c(1,4) #vektör uzunlukları aynı olmadığı için hata verir
[1]  4 10  9
Warning message:
In x + c(1, 4) :
  uzun olan nesne uzunluğu kısa olan nesne uzunluğunun bir katı değil 
> 
> x + c(1,4,1) #vektörünü (1,4,1) olarak değiştirdik
[1]  4 10  9
>

 

R Programlamada Vektörün Toplamını, Ortalamasını ve Çarpımını Bulma

Bu örnekte, yerleşik işlevleri kullanarak vektör öğelerinin toplamını, ortalamasını ve çarpımını bulmayı öğreneceksiniz.

sum() işlevini kullanarak bir vektörün elemanlarını toplayabiliriz Benzer şekilde, terimlerin ortalamasını ve çarpımını bulmak için mean() ve prod() işlevleri kullanılabilir.

sum(2,7,5)
x <- c(2, NA,  3,  1,  4)
sum(x)# NA yada NaN değeri varsa sonuç NaN olur.
sum(x, na.rm=TRUE) # Bu yöntem NA değerlerini görmezden gelir.

mean(x, na.rm=TRUE) # ortalama
prod(x, na.rm=TRUE) # çarpımı

Çıktı:

> sum(2,7,5)
[1] 14
> x <- c(2, NA,  3,  1,  4)
> sum(x)# NA yada NaN değeri varsa sonuç NaN olur.
[1] NA
> sum(x, na.rm=TRUE) # Bu yöntem NA değerlerini görmezden gelir.
[1] 10
> 
> mean(x, na.rm=TRUE) # ortalama
[1] 2.5
> prod(x, na.rm=TRUE) # çarpımı
[1] 24
>

Bir vektörde NA veya NaN içeriğine sahipse, sum(), mean(), prod() vb. gibi işlevler sırasıyla NA veya NaN üretir. Bu gibi değerleri görmezden gelmek için na.rm = TRUE argümanını geçmelisiniz.

R Programlamada Kullanıcıdan Girdi Alma Programı

Bu örnekte, “readline()” işlevini kullanarak bir kullanıcıdan girdi almayı öğreneceksiniz.

R ile çalışırken, kullanıcıdan (terminal) giriş almak için readline() işlevini kullanabiliriz.

Bu fonksiyon tek bir eleman karakter vektörü döndürür.

kisi.ad <- readline(prompt="Adınızı girin: ")
kisi.yas <- readline(prompt="Yaşınızı girin: ")
# string veriyi tam sayıya çevirme
kisi.yas <- as.integer(kisi.yas)

print(paste("Merhaba,", kisi.ad, " yaşınızı",kisi.yas , "olarak girdiniz"))

Çıktı:

Burada, komut istemiyle kullanıcı için uygun bir mesaj göstermeyi seçebileceğimizi görüyoruz.

Yukarıdaki örnekte, bir karakter vektörü olan giriş yaşını, as.integer() işlevini kullanarak tam sayıya dönüştürürüz.

 

R ile Standart Dağılımlardan Rastgele Sayı Üretme Programı

R, üniform dağılım, binom dağılım, normal dağılım, vs. gibi birçok standart dağıtımdan rastgele bir sayı üretme işlevine sahiptir.

Kullanılabilir standart dağılımların tam listesi ?distribution yazıp ENTER kullanılarak görülebilir. Rastgele sapma üreten fonksiyonlar r harfiyle başlar.

Örneğin, runif() üniform bir dağılımdan rasgele sayılar üretir ve rnorm() normal bir dağılımdan çıkar.

runif(1)    # rastgele 1 sayı üretir
runif(3)    # rastgele 3 sayı üretir
runif(3, min=5, max=10)    # 5 ile 10 arasında rastgele 3 sayı üretir.

Çıktı:

Yukarıdaki programda, bir aralık arasında belirli sayıda rasgele sayı üretebiliriz.

Normal dağılımdaki rasgele sayılar rnorm() işlevi kullanılarak oluşturulabilir.

Üretilecek örnek sayısını belirtmemiz gerekiyor.

Ayrıca dağılımın ortalama ve standart sapmasını da belirtebiliriz.

rnorm(1)    # rastgele 1 sayı üretir
rnorm(3)    # rastgele 3 sayı üretir
rnorm(3, mean=10, sd=2)    # Kendi ortalama ve standart sapmamız

Çıktı:

R ile Bir Popülasyondan Örnek Alma Programı

Bu örnekte, sample () işlevini kullanarak bir popülasyondan örnek almayı öğreneceksiniz.

Genellikle büyük bir popülasyondan veri örneklememiz gerekir.

R, bu işlemi yapmak için sample() adında bir işleve sahiptir. Örneklemek istediğimiz nüfusu ve büyüklüğü sağlamamız gerekir. Ek olarak, değiştirme ile örnekleme yapmak isteyip istemediğimizi de belirleyebiliriz. Varsayılan olarak değiştirilmeden yapılır.

x <- c(1,  3,  5,  7,  9, 11, 13, 15, 17)
sample(x, 2) # x'ten 2 tane örnek alıyoruz.

Örneklemenin boyutunu vermezsek, popülasyonun uzunluğuna varsayılandır. Bu x’i karıştırmak için kullanılabilir.

Bir popülasyondan örnek almak için işte bir kaç örnek.

x <- c(1,  3,  5,  7,  9, 11, 13, 15, 17)
sample(x) # popülasyonu karıştırır.
x <- c(1,  3,  5,  7,  9, 11, 13, 15, 17)
sample(x, replace = TRUE)
sample(15)
sample(c("A","C"),5, replace = TRUE) # benzeri sonuç üretir :"C" "C" "A" "C" "A"

 

R Minimum ve Maksimum Değeri Bulan Program

Bu örnekte, sırasıyla min() ve max() işlevini kullanarak bir listeden minimum ve maksimum sayıları bulmayı öğreneceksiniz. Ayrıca range() işlevini kullanarak bu işlemi tek adımda yapmayı da öğreneceksiniz.

x <- c(21,  3,  5,  7,  9, 11, 13, 15, 17)
min(x)   # minimum değeri bulur.
max(x)   # maksimum değeri bulur.
range(x) # min ve mak değerler

Çıktı:

Asgari veya azami değerin nerede olduğunu bulmak istiyorsak, yani gerçek değer yerine indexi istiyorsak, o zaman which.min() ve wich.max() fonksiyonlarını kullanabiliriz.

x <- c(21,  3,  5,  7,  9, 11, 13, 15, 17)
which.min(x)   # minimum değeri bulur.
which.max(x)   # maksimum değeri bulur.

R Vekörü Sıralayan Program

Bu örnekte, sort() işlevini kullanarak R’deki bir vektörü sıralamayı öğreneceksiniz.

Vektörlerin sıralaması sort() işlevi kullanılarak yapılabilir. Varsayılan olarak, artan düzende sıralar. Azalan düzende sıralama yapmak için decreasing = TRUE değerini geçebiliriz.

Sıralama yapıldığında orjinal verinin değişmediğini bilmelisiniz.

x <- c(21,  3,  5,  7,  9, 11, 13, 15, 17)
y=sort(x)
y
z=sort(x, decreasing=TRUE)
z

Çıktı:

R Girilen Sayının Faktöriyelini Bulan Program

Bir sayının faktörü, 1’den bu sayıya kadar tüm tam sayıların çarpımıdır. Örneğin, 6 faktörü (6! Olarak gösterilir) 1 * 2 * 3 * 4 * 5 * 6 = 720’dir.

Faktör, negatif sayılar için tanımlanmadı ve sıfırın faktörü bir, 0! = 1.

Bu örnek normalde bir sayının faktörünü bulur. Ancak, özyinelemeyi kullanarak da bulabilirsiniz.

# kullanıcıdan bir sayı isteyin
sayi = as.integer(readline(prompt="Bir sayı girin:"))
faktoriyel = 1
# Sayı negatif mi kontrolü
if(sayi < 0) {
  print("Üzgünüm girilen sayı negatif.")
} else if(sayi == 0) {
  print("0! 1dir")
} else {
  for(i in 1:sayi) {
    faktoriyel = faktoriyel * i
  }
  print(paste(sayi,"sayısının faktöriyeli",faktoriyel))
}

Çıktı:

R Kullanıcının Girdiği Sayının Çarpım Tablosunu Yazdıran Program

#Kullanıcı tarafından girilen sayının 1-10 arasındaki çarpımını gösteren program
# Bir sayı al
sayi = as.integer(readline(prompt = "Bir sayı girin: "))
# döngü kullanarak 10 sefer dön
for(i in 1:10) {
  print(paste(sayi,'x', i, '=', sayi*i))
}

Çıktı:

Yorum yap