Veri Çerçeveleri

Yaşam Bilimlerinde Veri Analizi

Emrah Kırdök, Ph.D.

2024-04-03

Veri Çerçeveleri

Veri Çerçeveleri

Veri çerçeveleri:

  • Farklı veri tiplerine sahip vektörlerden oluşan matrislerdir.
  • Vektörlerin uzunluklarının aynı olması gereklidir.

Hatırlarsanız öncelikle vektörleri tanımlamıştık.

Veri çerçevesi oluşturalım

Gelin Table 1’den bir veri çerçevesi oluşturalım:

Table 1: Hayali veri setimizdeki bitkiler
Bitki İsmi Yaprak Uzunluğu (cm) Deney Koşulları
bitki1 2.3 Karanlık
bitki2 3.4 Aydınlık
bitki3 4.5 Aydınlık
bitki4 1.2 Karanlık
bitki5 3.4 Aydınlık
bitki6 - Karanlık
bitki7 1.8 Karanlık
bitki8 6.3 Aydınlık
bitki9 2.1 Karanlık
bitki10 - Karanlık

Veri çerçevesi oluşturalım

veri <- data.frame(bitki_ismi = c("bitki1", "bitki2", 
                                    "bitki3", "bitki4", 
                                    "bitki5", "bitki6", 
                                    "bitki7","bitki8", 
                                    "bitki9", "bitki10"),
                    yaprak_uzunlugu = c(2.3, 3.4, 4.5, 1.2, 3.4, 
                                            NA, 1.8, 6.3, 2.1, NA),
                    deney_kosullari = factor(c("karanlik", "aydinlik", 
                                                    "aydinlik", "karanlik", 
                                                    "aydinlik", "karanlik", 
                                                    "karanlik", "aydinlik", 
                                                    "karanlik", "karanlik"))
)

veri

Veri çerçevesi oluşturalım

   bitki_ismi yaprak_uzunlugu deney_kosullari
1      bitki1             2.3        karanlik
2      bitki2             3.4        aydinlik
3      bitki3             4.5        aydinlik
4      bitki4             1.2        karanlik
5      bitki5             3.4        aydinlik
6      bitki6              NA        karanlik
7      bitki7             1.8        karanlik
8      bitki8             6.3        aydinlik
9      bitki9             2.1        karanlik
10    bitki10              NA        karanlik

Veri çerçevesi oluşturalım

Şimdi gelin str fonksiyonu ile oluştruduğumuz veri çerçevesini inceleyelim:

str(veri)
'data.frame':   10 obs. of  3 variables:
 $ bitki_ismi     : chr  "bitki1" "bitki2" "bitki3" "bitki4" ...
 $ yaprak_uzunlugu: num  2.3 3.4 4.5 1.2 3.4 NA 1.8 6.3 2.1 NA
 $ deney_kosullari: Factor w/ 2 levels "aydinlik","karanlik": 2 1 1 2 1 2 2 1 2 2

Veri Çerçevesi boyutları

Elimizdeki veri çerçevesinin boyutlarını aynı matrisler gibi öğrenebiliriz.

dim(veri)
[1] 10  3

Satır sayısı:

nrow(veri)
[1] 10
ncol(veri)
[1] 3

Sütun ve satır isimleri

  • colnames ve rownames fonksiyonları ile ile öğrenebiliriz ve değiştirebiliriz:
colnames(veri)
[1] "bitki_ismi"      "yaprak_uzunlugu" "deney_kosullari"
rownames(veri)
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10"
colnames(veri) <- c("isim", "uzunluk", "kosul")
rownames(veri) <- c("bitki1", "bitki2", "bitki3", "bitki4", "bitki5", 
                        "bitki6", "bitki7","bitki8", "bitki9", "bitki10")

Sütun ve satır isimleri

Şimdi tekrar veri çerçevesini ekrana yazdıralım:

veri
           isim uzunluk    kosul
bitki1   bitki1     2.3 karanlik
bitki2   bitki2     3.4 aydinlik
bitki3   bitki3     4.5 aydinlik
bitki4   bitki4     1.2 karanlik
bitki5   bitki5     3.4 aydinlik
bitki6   bitki6      NA karanlik
bitki7   bitki7     1.8 karanlik
bitki8   bitki8     6.3 aydinlik
bitki9   bitki9     2.1 karanlik
bitki10 bitki10      NA karanlik

Veri çerçevesi işlemleri

  • head komutu, bize veri çerçevesinin ilk bir kaç satırını ekrana yazdırma şansı verir:
head(veri)
         isim uzunluk    kosul
bitki1 bitki1     2.3 karanlik
bitki2 bitki2     3.4 aydinlik
bitki3 bitki3     4.5 aydinlik
bitki4 bitki4     1.2 karanlik
bitki5 bitki5     3.4 aydinlik
bitki6 bitki6      NA karanlik

Veri çerçevesi işlemleri

  • ikinci satırın üçüncü sütunundaki veriyi elde edelim:
veri[2,3]
[1] aydinlik
Levels: aydinlik karanlik
  • Sadece ikinci sütunu elde edelim:
veri[,2]
 [1] 2.3 3.4 4.5 1.2 3.4  NA 1.8 6.3 2.1  NA
  • Sadece üçünücü satırı elde edelim:
veri[3,]
         isim uzunluk    kosul
bitki3 bitki3     4.5 aydinlik

Veri çerçevesi işlemleri

İstersek sadece sütun isimlerini de kullanabiliriz. Önce sütun isimlerine bakalım:

colnames(veri)
[1] "isim"    "uzunluk" "kosul"  

Sadece yaprak uzunluklarına bakalım:

veri$uzunluk
 [1] 2.3 3.4 4.5 1.2 3.4  NA 1.8 6.3 2.1  NA

Veri çerçevesi işlemleri

  • $ işaretini kullanırsak, doğrudan sütun isimleri ile çalışabiliriz.

Peki, yaprak uzunlukları vektöründeki 5. elemanı elde etmek istesek:

veri$uzunluk[5]
[1] 3.4

Bunu şu şekilde de yapabiliriz:

veri[5,2]
[1] 3.4
  • Aynı sonucu verir