Bölüm 3 Veri Türleri

3.1 Veri Türleri

R’da temel olarak altı tür veri vardır. Bunlar: mantıksal değer (logical), sayısal değer (numeric), tam sayı (integer), karmaşık sayı (complex), karakter (character) ve ham veridir (raw). Mantıksal değerler, aynı zamanda Boolean veri olarak bilinir ve iki değeri vardır: TRUE (DOĞRU) ve FALSE (YANLIŞ).

mantik_data1 <- TRUE
mantik_data1
## [1] TRUE
class(mantik_data1)
## [1] "logical"
mantik_data2 <- F
mantik_data2
## [1] FALSE
class(mantik_data2)
## [1] "logical"

Yukarıdaki örnekten görüldüğü üzere FALSE yerine kısaltması olan F harfi de kullanılabilmektedir. Benzer şekilde T harfi TRUE yerine kullanılabilirdir. Sayısal değerler, tüm gerçek (reel) sayılar için kullanılabilir.

yazili_not <- 85
sinif_ortalamasi <- 70.8
yazili_not
## [1] 85
sinif_ortalamasi
## [1] 70.8
class(yazili_not)
## [1] "numeric"
class(sinif_ortalamasi)
## [1] "numeric"

Tam sayıları spesifik olarak belirtmek için tam sayı veri türü kullanılır. Ancak bilindiği üzere tam sayılar da gerçek sayıdır. Bu nedenle R’da özellikle tam sayıları ifade etmek için L harfi kullanılır.

kilo <- 68L
kilo
## [1] 68
class(kilo)
## [1] "integer"

Karmaşık veriler, karmaşık (kompleks) sayılar içindir. Karmaşık sayıların imajiner z = a + bi şeklinde ifade edilir ve burada a gerçel (reel) kısmı, b ise imajiner (sanal) kısmı ifade eder.

kompleks <- 5+2i
kompleks
## [1] 5+2i
class(kompleks)
## [1] "complex"

Karakter verileri, character ya da string tipinde olabilir. Örneğin, ‘m’ harfi bir karakter iken ‘matematik’ bir string ifadedir. İkisi de karakter verisidir. R’da genellikle ’ ’ karakterler için, ” ” ise string veriler için kullanılır.

karakter <- 'm'
string_ornek <- "matematik"
karakter
## [1] "m"
string_ornek
## [1] "matematik"
class(karakter)
## [1] "character"
class(string_ornek)
## [1] "character"

Görüldüğü üzere hem karakter hem de string_ornek karakter sınıfında yer almaktadır. Kullanılacak ' ya da " noktalama işaretleri / sembolleri yapıyı değiştirmemektedir. İkisi de birbirinin yerine kullanılabilir.

Ham veriler, değerleri raw byte olarak ifade etmek için kullanılır. Bunun için aşağıdaki iki fonksiyondan yararlanılır.

  • charToRaw() - karakter datasını raw dataya çevirir.
  • rawToChar() - raw datayı karakter datasına çevirir.
  • ornek_rawdata <- charToRaw("Metehan Güngör")
    ornek_rawdata
    ##  [1] 4d 65 74 65 68 61 6e 20 47 c3 bc 6e 67 c3 b6 72
    class(ornek_rawdata)
    ## [1] "raw"
    ornek_karakter <- rawToChar(ornek_rawdata)
    ornek_karakter
    ## [1] "Metehan Güngör"
    class(ornek_karakter)
    ## [1] "character"

    3.2 Alıştırmalar

    Alıştırma 1 İçinde tek bir FALSE değeri bulunan, adı FF olan bir nesne oluşturunuz. Nesnenin sınıfının (türünün) logical olup olmadığını class() fonksiyonu ile kontrol ediniz.

    Yanıt İçin Tıklayınız
    FF <- FALSE
    class(FF)
    ## [1] "logical"

    Alıştırma 2 Tek elemanı 75,5 olan nesne isimli bir nesne oluşturunuz. Nesnenin sınıfının (türünün) numeric olup olmadığını class() fonksiyonu ile kontrol ediniz.

    Yanıt İçin Tıklayınız
    nesne <- 75.5
    class(nesne)
    ## [1] "numeric"

    Alıştırma 3 boy isimli bir nesne oluşturunuz. Bu nesnenin tek elemanı 180 olsun. Nesnenin sınıfının (türünün) integer olup olmadığını class() fonksiyonu ile kontrol ediniz.

    Yanıt İçin Tıklayınız
    boy <- 180
    class(boy)
    ## [1] "numeric"

    Alıştırma 4 Gerçel (reel) kısmı 2, imajiner (sanal) kısmı ise 3 olan bir karmaşık sayıyı içeren, ismi komp olan bir nesne oluşturunuz. Nesnenin sınıfının (türünün) complex olup olmadığını class() fonksiyonu ile kontrol ediniz.

    Yanıt İçin Tıklayınız
    komp <- 2 + 3i
    class(komp)
    ## [1] "complex"

    Alıştırma 5 Tek elemanı “Türkiye” olan, TR isimli bir nesne oluşturunuz. Nesnenin sınıfının (türünün) character olup olmadığını class() fonksiyonu ile kontrol ediniz.

    Yanıt İçin Tıklayınız
    TR <- "Türkiye"
    class(TR)
    ## [1] "character"

    Alıştırma 6 “Beyaz” kelimesini charToRaw() fonksiyonu ile raw data’ya çeviriniz. Bu datayı B isimli bir nesneye atayınız. Nesnenin sınıfının (türünün) raw olup olmadığını class() fonksiyonu ile kontrol ediniz. Elde ettiğiniz B nesnesini rawToChar() fonksiyonu ile tekrar karakter haline getiriniz. Yeni nesnenin sınıfının (türünün) character olup olmadığını class() fonksiyonu ile kontrol ediniz.

    Yanıt İçin Tıklayınız
    B <- charToRaw("Beyaz")
    class(B)
    ## [1] "raw"
    C <- rawToChar(B)
    class(C)
    ## [1] "character"