Başlangıç Seviye R Programlama

R, istatistiksel hesaplama, raporlama ve grafikler için yazılım ortamı ve programlama dilidir. Kütüphaneleri doğrusal(linear) ve doğrusal olmayan(non-linear) modelleme, klasik istatistiksel testler, zaman serisi analizi, sınıflandırma, kümeleme ve diğerleri de dahil olmak üzere çok çeşitli istatistiksel ve grafik tekniklerinin bilgisayar ortamında uygulanmasını sağlar.

R, çoğu istatistiksel hesaplama dilinden daha güçlü nesne yönelimli programlama imkanlarına sahiptir. İnterpreted bir dildir;Kullanıcılar bir komut satırı aracılığıyla işlemlerini iletirler. Örneğin;

3+5
[1] 8

Özellikleri;

R, çok geniş istatistiki (doğrusal ve doğrusal olmayan modelleme, klasik istatistik testleri, zaman serileri analizi, sınıflandırma, kümeleme ve diğer) ve grafik çizim teknikleri sunmaktadır. R sisteminin büyük çoğunluğu aynı dille yazıldığından kullanıcının yapılan algoritmik seçimleri takip etmesi kolaylaşmaktadır. Yoğun hesaplamalar gerektiren görevler için C,C++ ve Fortran kodu çalışma zamanında bağlanıp çalıştırılabilmektedir. İleri düzey kullanıcılar R nesnelerinin manipülasyonu için C kodu yazabilirler.

R, kullanıcıların eklediği özel fonksiyonlar veya çok özel araştırma alanlarına ait paketlerle oldukça geliştirilebilirdir. S dilinin mirasından dolayı R, diğer birçok istatistiki hesaplama dilinden daha kuvvetli bir nesneye yönelik programlama kabiliyetine sahiptir.

R’nin bir diğer güçlü yönü matematiksel sembolleri de içeren yayın kalitesinde grafikler çizebilen grafik imkânlarıdır. R’nin ister çevrimiçi ister baskı amaçlı kullanılabilen çok geniş içerikli LaTeX benzeri belgelendirme imkânı vardır.

Giriş

R Programlamada yorum eklemek için ‘#’ işareti kullanılır. Burada kosun ne hakkında olduğu hakkında bilgi verebiliriz.

#3+5 Sonucunu hesapla

3+5
[1] 8

R da kullanılabilecek aritmetik işlemler;

  • Toplama: +
  • Çıkarma: –
  • Çarpma işlemi: *
  • Bölünme: /
  • Üst alma: ^
  • Mod alma : %%

Değişken Ataması

Değişken R programlama da değer saklamanızı sağlar. Değişken atama işleminden sonra bu değişkenin adını değişken değerine ulaşmak için kullanırız.

#’elma’ değişkenadına 5 değerini atayın, ‘portakal’ değişken adına 6 değerini atayın

elma<- 5
portakal <- 6

#elma ve portakal değişkenlerinin toplamını bulun

elma+portakal
[1]11

Vektörler

Vektörler, sayısal verileri, karakter verilerini veya mantıksal verileri tutabilen tek boyutlu dizilerdir. Başka bir deyişle, vektör veri depolamak için basit bir araçtır. ‘c()’ vektör yaratma amaçlı kullanılır.

numeric_vector <- c(1, 10, 49)
character_vector <- c(“a”, “b”, “c”)
boolean<- c(TRUE,FALSE,TRUE)

Eğer oluşturduğumuz vektörün elemanlarına isim atamak istersek ‘names()’ fonksiyonunu kullanabiliriz.

names(numeric_vector)<-c(“Monday”, “Tuesday”, “Wednesday”)

Vektörlerde aritmetik işlemler yapılabilir. Bir vektörün tüm elemanlarının toplam değerlerini bulmak istersek ‘sum()’ fonksiyonunu kullanabiliriz.

#numeric_vector vektötünün toplam değerini hesaplayıp ‘toplam_numeric’ değişkenine atayın

toplam_numeric <- sum(numeric_vector)
toplam_numeric
[1]60

#numeric_vector vektötünün toplam değerini hesaplayıp ‘toplam_numeric’ değişkenine atayın

toplam_numeric <- sum(numeric_vector)
toplam_numeric
[1]60

Diğer programlama dillerinin aksine R programlamada ilk değeri 0 değil 1 den saymaya başlıyoruz. İstediğimizde vektörün herhangi bir değerini bir değişkene atayabiliriz.

#numeric_vector vektörün 3. değişkenini degisken_three değerine atayın

degisken_three<-numeric_vector[3]

Eğer vectördeki bir aralığı atamak istersek [:] işlemini kullanabiliriz. Örneğin 2 den 5 e kadar olan aralığı atamak için [2:5] şeklinde kullanırız(2. değer dahil, 5. değer dahil değil). Bir vektörün elemanlarının ortalamasını bulmak istersek ‘mean()’ fonsiyonunu kullanırız.

#numeric_vector vektörünün ortalamasını avg_numeric_vector değerine ata

avg_numeric_vector<-mean(numeric_vector)

Vektörleri aşağıdaki logical ifadelerle de kullanabiliriz;

  • < küçüktür
  • > büyüktür
  • <= küçük eşittir
  • >= büyük eşittir
  • == eşit eşittir
  • != eşit değildir

#c(1,5,7) vektörünün 5 den büyüp olup olmadığını kontrol edin

c(1,5,7)>5
[1]FALSE FALSE TRUE

Matrisler

Bir matris, sabit sayıda satır ve sütun halinde düzenlenmiş aynı veri türündeki (sayısal, karakter veya mantıksal) öğelerden oluşur. Yalnızca satır ve sütunlarla çalıştığınız için, matrise iki boyutludur.
‘Matrix()’ işleviyle R’de bir matris oluşturabilirsiniz. Aşağıdaki matriste; 1:9 işlemi; c(1,2,3,4,5,6,7,8,9) ın kısayoludur. byrow=TRUE; Matris satırlar bazlı doldurulmuş demektir. FALSE olsa sütun bazlı doldurulacaktı. nrow=3; Matrisin 3 satırdan oluşacağını gösterir.

ornek_matrix <- matrix(1:9, byrow = TRUE, nrow = 3)

NOT: Bir matrise vektör isimleriyle atama işlemi yapılabilir.Örneğin a,b ve c birer vektör ise; d<-c(a,b,c) matris<-(d,byrow=TRUE, nrow=3)

‘colnames()’ fonksiyonu ile matristeki kolonları ‘rownames()’ fonksiyonu ile matristeki satırları isimlendirebilirsiniz.

#sutun_adi ve kolon_adi isimli 2 vektör oluşturalım. Bu vektörlere değerler atayalım

sutun_adi<-c(“A”,”B”,”C”)
kolon_adi<-c(“D”,”E”,”F”)

#yukarıda oluşturduğumuz ornek_matrix e kolon ve sütün adlarını atayalım

colnames(ornek_matrix) <- kolon_adi
rownames(ornek_matrix) <- sutun_adi

Çıktısı aşağıdaki gibi olacaktır;

DEF
A123
B456
C789

‘rowSums()’ fonksiyonu ile matrisin satırlarını toplama işlemi yapılır.

#toplam_deger ifadesine A B C değerlerinin toplamını atayın

toplam_deger <- rowSums(ornek_matrix)

NOT: nrow=3 değerinden sonra dimnames ifadesi kullanılarak direkt satır,sütun isimleri atanabilir.

ornek_matrix <- matrix(1:9, nrow = 3, byrow = TRUE, dimnames = list(c(“A”,”B”,”C”), c(“D”,”E”,”F”)))

‘cbind()’ fonksiyonu ile farklı matrisler yada 1 matris ile 1 vektörü birleştirilebilir. ‘rbind()’ fonksiyonu ile farklı matrisler birleştirilebilir. ‘ls()’ fonksiyonu ile matrisleri daha yakından inceleyebilirsiniz. ‘colSums()’ fonksiyonu ile matrisin sütunlarına toplama işlemi yapılır.

Matris Eleman Seçimi

‘[]’ ifadeleriyle matris içerisinde eleman seçimi yapılabilir.

matrix [1,2] ilk satırdaki ve ikinci sütundaki öğeyi seçer.
matrix [1: 3,2: 4], 1, 2, 3 ve 2, 3, 4 sütunlarındaki verilerle bir matris olur.
Bir satırın veya sütunun tüm öğelerini seçmek istiyorsanız, virgülden önce veya sonra hiçbir sayı gerekmez. my_matrix [, 1] ilk sütunun tüm öğelerini seçer.
my_matrix [1,] ilk satırın tüm öğelerini seçer.

Matrislerde de vektörlerle aynı aritmetik işlemler uygulanabilir.

Faktörler

Faktörler katogorik verilerde kullanılır. Kadın, Erkek gibi.’factor()’ fonksiyonu ile oluşturulur. levels koşuluyla sıralamayı belirleriz, haricinde sıralama alfabetik olur.

#cinsiyetlerden oluşan bir vektör oluşturalım

cinsiyet <- c(“kadın”,”kadın”,”erkek”,”kadın”)

#cinsiyet_factor adlı faktörümüze bu vektörü atayalım

cinsiyet_factor <- factor(cinsiyet)

#çıktısı aşağıdaki gibi olur

[1]levels: Erkek Kadın

Örnek factor kullanımı; factor(vektör, ORDER=TRUE, LEVELS=c(“Low”, “Medium”, “High”)) Order kullanarak sıralama vektörünü sırayla verdiğimizi belirtiriz. Yani low<medium<high demiş oluruz. ‘summary()’ fonksiyonu özet sayısal bilgi alabiliriz.

DataFrame

Farklı veri tiplerindeki verileri saklamamızı sağlar. ‘data.frame()’ fonksiyonu ile oluşturulur.’head()’ fonksiyonu ile ilk değerler, ‘tail()’ fonksiyonu ile görüntülenir. ‘str()’ fonksiyonu ile dataframemimizin yapısını görüntüleriz.'[]’ ile istediğimiz satır ve sütundaki datayı çekebiliriz. İstersek kolon yada satır adını direkt yazabiliriz. Yukarıda bahsettiğimiz koşullar geçerli. Aşağıdaki örneği inceleyelim.

#insanlar adında bir dataframe önceden belirlenmiş olsun

#insanlar dataframenin cinsiyet kolonunu vector_cinsiyet kolonuna atayalım

vector_cinsiyet <- insanlar$cinsiyet

#vector_cinsiyet vektörünü görüntülediğimizde çıktı aşağıdaki gibi olur

[1]KADIN ERKEK KADIN ERKEK ERKEK

‘subset()’ fonksiyonu ile şartlı olarak verilerimizi çağırabiliriz. Örneğin subset(insanlar,subset=cinsiyet==”KADIN”) diyerek sadece cinsiyeti KADIN olan verileri çekebiliriz. ‘order()’ fonksiyonu ile sıralama işlemlerini yapabiliriz. Aşağıdaki order örneğini inceleyelim.

#insanlar adında bir dataframe önceden belirlenmiş olsun

#insanlar dataframenin yas kolonunu sıralayalım

yas_sıralı <- order(insanlar$yas)

#insanlar dataframeini yas sıralı şekilde çağıralım

insanlar[yas_sıralı,]

Listeler

Vektörler tek boyutlu diziler, matrisler iki boyutlu diziler ve dataframeler iki boyutlu nesnelerdir. Listeler farklı türdeki nesneleri bir arada kullanmanız olanak sunar. ‘list()’ olarak kullanılır. Data detaylı göstermek gerekirse list(vector_adi, matris_adi, dataframe_adi).

Listedeki elemanları isimlendirebilirsiniz. list(va=vector_adi, ma=matris_adi, df=dataframe_adi)

Listede de vector,matris ve dataframe de olduğu gibi istediğiniz elemanları [] işaretleriyle seçebilirsiniz. Farklı olarak içerisinde farklı nesneleri içerdiği için içiçe geçmiş [[]] işaretleri kullanılır.

#Daha fazla bilgiyi Orta seviye R Programlama yazımda aktaracağım 🙂 #Teşekkürler

Leave a comment

Design a site like this with WordPress.com
Get started