Temel obje turleri

Cok havali grafikler cizip, guzel istatistiksel analizler yapmadan once R’da temel bir kac konuya bakmak yapabilecegimiz kimi hatalari daha rahat anlamamizi saglayabilir. Bu sebeple biraz temellere bakalim.

R’da 5 cesit temel obje turu var:

  • karakter (character):
> x = 'a'
> x
[1] "a"
> a
Error: object 'a' not found

Karakter degiskeni yaratmak icin, tirnak isaretlerini kullaniyoruz. Yani, x bir obje iken ‘a’ bir karakter. Bu sebeple, a yazdiginizda R a isminde bir obje ariyor, bizim a isminde bir objemiz olmadigindan ‘obje bulunamadi’ hatasi veriyor. Bu arada R’da en iyi dostunuz hata mesajlari. Genelde hata mesaji sorunun nerede oldugu hakkinda cok iyi bir fikir veriyor.

> class(x)
[1] "character"

class() fonksiyonu tahmin edebileceginiz uzere, obje sinifini ogrenmemizi sagliyor.

> x = 'melike'
> x
[1] "melike"
> class(x)
[1] "character"

‘Karakter’ sinifindaki objeler, tek bir karakter icermek zorunda degil.

  • numerik (numeric)
> x = 3
> x
[1] 3
> class(x)
[1] "numeric"
> x = 3.14
> x
[1] 3.14
> class(x)
[1] "numeric"
> x = 1/0
> x
[1] Inf
> class(x)
[1] "numeric"
> x = 0/0
> x
[1] NaN
> class(x)
[1] "numeric"

Burada ilginc olan kisimlar var: 1) R tam sayilari da ozellikle belirtmedigimiz surece numerik olarak aliyor, 2) ‘Sonsuz’un veri tipi numerik, 3) NaN (“not a number’) degeri de numerik sinifinda.

  • tam sayilar (integer)
> x = 3L
> x
[1] 3
> class(x)
[1] "integer"

Gordugunuz gibi, ozellikle tam sayi olusturmak istiyorsak sondaki L ekini kullaniyoruz.

  • komplex (complex)
> x = 1+4i
> x
[1] 1+4i
> class(x)
[1] "complex"
  • mantiksal (logical, boolean)
> x = TRUE
> x
[1] TRUE
> class(x)
[1] "logical"
> x = FALSE
> x
[1] FALSE
> class(x)
[1] "logical"
> x = T
> x
[1] TRUE

TRUE ve FALSE iki temel mantiksal degisken (True=Dogru, False=Yanlis). Sadece bas harfleri kullanilarak da ifade edilebilirler.

> x = f
Error: object 'f' not found

Ancak gordugunuz gibi, bu harfler buyuk olmali yoksa f ismindeki objeye esitlemeye calismis oluyoruz x’i.


Alistirma olarak su objelerin siniflarini tahmin etmeye calisip yanilip yanilmadiginizi kontrol edebiliriz:

a='5' 
b='T'
y=10.5L
x='y'
d=x

Tirnak isaretleri icinde veriler girildiginden a, b, x, ve dolayisiyla d objeleri karakter tipinde. y ise integer degil numerik tipinde.


Ilerledikce class() fonksiyonu ile objelere baktiginizda, farkli cevaplar alacaksiniz. Objelerden olusan objeleriniz oldugunda ornegin (1den 10a kadar olan sayilari iceren bir vektorunuz varsa mesela). Ya da R’in object oriented programlama dili olmasinin getirisi olarak, yeni obje siniflari ile calistiginizda.

Eger ki acik bir obje sinifina sahipse bir obje (orn. matrix gibi), numerik degerlerden olusan bir obje mi, karakter objesi mi, bunu gormek yerine sinifini – orn. matrix – oldugunu goreceksiniz. Bu durumda mode() fonksiyonunu kullanabilirsiniz. Veri yapilarina (vektor, matrix, list gibi) alistikca bunlar daha anlasilir gelecektir.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s