8 Aralık 2009 Salı

R kodları



R (basit düzeyde) kullanımı  ve kodların açıklamaları
(Not: komutların açıklamalarında hatalar olabilir.)



R da her şey fonskiyonlarla yapılmaktadır. R da 3 genel veri türü vardır. Normal değişkenler, vektörler ve mantıksal ifadeler.


Dosya uzantısı .R ve çalışma ortamı (workspace) uzantısı .RData olarak kayıt eder.



Temel Atamalar: Değişken isimleri büyük ve küçük harflere duyarlıdır. x değişkenine 2 atamak için  konsola;

x <- 2 








Vektörel Atamalar: Weight 5 kişinin ağırlıklarının vektörü olsun. Bu vektöre değer girişi için;

weight <-c(60,36,45,65,61)







Vektörlere 3 veri türü saklanabilir. (sayısal veriler, mantıksal değerler, karakter dizinleri) Örneğin;


karakter vektörü,

isim <-c ("ahmet", "gül", "hakan")

mantık vektörleri,

m <- c(T,T,F,F,T)


Matematiksel işlemler:Normal hesap makinesindeki gibi :)

toplam almak için (seri yada vektörün tüm elemanları için)

sum(weight)


Data Frame: Verilerin tablo şeklinde gösterilmesi,diğer programlardaki  tablolara karşılık geliyor. Data frame oluşmak için konsola şu komut (yada fonksiyon :) ) girilmelidir;

conversion <- data.frame (celsius=celsius, fahrenheint=fahrenheint) 


Dışardan Veri Alma: txt dosyasından veri almak için read.table() fonsiyonu kullanabilir. örnek;

dısdata <- read.table("veri1.txt",header=TRUE)

Bu şu demektir; dışardan veri1.txt dosyasından veri al değişken isimleri 1. satırda

Not: veri dosyası workspace ile aynı dizinde olmalı yada yeri (dizinler "\" yerine "/" ile )  belirtilmelidir. Yukardaki örnekte veri1.txt dosyası benim workspace'im ile aynı dizinde olduğu için diskteki özel yerini belirtmeye gerek yok.


Vektörler ile işlemler

     x vektörü 10 elemana sahip olsun. X vektörünün 2. ve 5. elemanlarını x vektöründen  çıkarıp x vektörü 8 elemanlı olsun. bunun için komut satırına;

x[-c(2,5)]

    Vektörlerin elemanlarının verilen bir değerle karşılaştırılmasının mantıksal sonucu vektörümüz x olsun ve karışılaştıracağımız değer 20 olsun ( 20 den büyük mü? ). Bunun için komut satırına

x > 20

    Vektör elemanlarına isimler (label) vermek için;

a vektörü 3 elemandan oluşsun (değerler rastgele) ve bu elemanlara ali, hakan ve kemal isimleri (label) için;

a <- c(ali=123, hakan=232, kemal= 143)

Kayıp Değerler ( Missing Value)

R da kayıp değerler NA olarak gösterilir.
 
  
Komutlardan bir kaçı;


getwd(): Çalışma kütüphanesinin bilgisayarda hangi dizinde kayıtlı olduğunu gösterir.

ls():  Çalışma ortamında (workspace) de oluşturulan nesneleri verir.

q() , quit(exit): R programını kapatır.

sort(): Birimleri alfabetik sıraya göre sıralar.

nchar(): Birimin kaç karakterden oluştuğunu verir.

summary(): Vektörün yada data framedeki değişkenlerin betimsel istatistiklerini (min,max, ort, medyan, çeyreklikler) hesaplar.


rep(): Tekrarlama fonksiyonu. Örneğin;  

rep(yeni,3)     (var olan verilerden yenisini sonuna ekler ve yeni vektöründeki tüm değerleri 3 kere kopyalar
ve yeni vektörüne tekrardan atar.)

dim(): Matrislerin boyutlarını düzenler








Grafikler;


hist(): Verilerin histogram grafiğini verir.

plot():
serpilme diyagramı  verir.

çizim simgelerini değiştirmek için, pch parametresini kullanıyoruz

plot(weight, pch=2)





Zaman Serileri

     ts() fonkisyonu vektörleri zaman serilerine çevirmektedir. Örnek olarak numjobs vektörünü oluşturup aylık olarak zaman serisine dönüştürelim.

numjobs <- c(982,981,984,982,981,983,983,983,983,979,973,979,
974,981,985,987,986,980,983,983,988,994,990,999)






Yukarıda numjobs vektörünü oluşturduk ve vektörünü zaman serileri (aylık) çevirmek için;

numjobs <- ts(numjobs, start=1995, frequency = 12)

çevirme işlemi sonucunda elde etiğimiz zaman serisinin grafiği için;

plot(numjobs)

Hiç yorum yok:

Yorum Gönder