Vektörler

Yaşam Bilimlerinde Veri Analizi

Emrah Kırdök, Ph.D.

2023-09-03

Vektörler

Vektör oluşturma

  • Bir vektör oluşturmak istiyorsanız c() fonksiyonunu kullanmanız gerekmektedir:
vektor1 <- c(12, 43, 45)

Oluşturduğunuz vektor1 isimli vektör:

  • Üç tane elemana sahiptir.
  • Bu elemanları , ile ayırdık.

Vektör oluşturma

  • İsterseniz karakter vektörleri de oluşturabilirsiniz:
vektor2 <- c("bitki1", "bitki2", "bitki3")

Vektör oluşturma

Ya da mantıksal vektörler:

vektor3 <- c(TRUE, FALSE, TRUE, FALSE)

Vektör oluşturma

Ya da faktör vektörleri:

vektor4 <- factor(c("karanlik", "aydinlik", "karanlik", "aydinlik"))
  • Önce c() fonskiyonu ile vektör oluşturduk.
  • Ardından factor fonksiyonu ile faktör’e çevirdik.

Vektör oluşturma

İstersek iki farklı vektörü birleştirebiliriz. Önce iki farklı vektör oluşturalım:

x <- c(12, 34, 56)
y <- c(39, 45, 67)
  • Şimdi bu iki vektörü birleştirelim:
yeni_vektor <- c(x, y)
yeni_vektor
[1] 12 34 56 39 45 67

Vektör oluşturma

  • Dikkat ederseniz, değişken isiminde birden fazla kelime varsa, bu kelimeleri _ ile ayırdık. Siz de buna dikkat edin lütfen!

Vektörler sadece bir veri tipine sahiptir

  • Acaba iki farklı tipte vektörü birleştiriseniz ne olur?
  • Mesela bir karakter vektörü ile bir sayı vektörünü birleştirmeye denesiniz?
vektor <- c("bitki1", "bitki2", 12, 45)
str(vektor)
 chr [1:4] "bitki1" "bitki2" "12" "45"

Vektör oluşturma üzerine örnekler

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

Vektör oluşturma üzerine örnekler

Öncelikle bitki isimleri için bir karakter vektörü oluşturalım:

bitki_ismi <- c("bitki1", "bitki2", 
                "bitki3", "bitki4", 
                "bitki5", "bitki6", 
                "bitki7","bitki8", 
                "bitki9", "bitki10")

Vektör oluşturma üzerine örnekler

Şimdi ise yaprak uzunluğu için bir sayı vektörü oluşturalım. Burada dikkat ediniz, belirlenemyen ölçümlere NA ekliyoruz!

yaprak_uzunlugu <- c(2.3, 3.4, 4.5, 1.2, 3.4, 
                    NA, 1.8, 6.3, 2.1, NA)

Vektör oluşturma üzerine örnekler

  • Deney koşulları aslında bir kategori ifade ediyor.
  • Faktör vektörü olarak oluşturmalıyız.
deney_kosullari <- factor(c("karanlik", "aydinlik",
                            "aydinlik", "karanlik", 
                            "aydinlik", "karanlik",
                            "karanlik", "aydinlik", 
                            "karanlik", "karanlik"))

Vektör oluşturma üzerine örnekler

str(deney_kosullari)
 Factor w/ 2 levels "aydinlik","karanlik": 2 1 1 2 1 2 2 1 2 2

Burada levels aslında faktör vektöründeki seviyeleri gösterir + aydinlik ve karanlik olmak üzere iki farklı seviye vardır. + Bu seviyeler 1 ve 2 olarak kodlanmıştır. + R üzerinde faktörler, öntanımlı olarak alfabetik sıraya göre kodlanmaktadır.

Vektörün uzunluğunu öğrenmek

Oluşturduğumuz vektörün uzunluğunu elde etmek için ise length fonksiyonunu kullanabiliriz:

length(yaprak_uzunlugu)
[1] 10

Vektör elemanlarına isim eklemek

Eğer istersek, her vektör elemanına bir isim atayabiliriz:

names(yaprak_uzunlugu) <- bitki_ismi

Atanmış isimleri elde edebiliriz:

names(yaprak_uzunlugu)
 [1] "bitki1"  "bitki2"  "bitki3"  "bitki4"  "bitki5"  "bitki6"  "bitki7" 
 [8] "bitki8"  "bitki9"  "bitki10"

Vektörlerde indis kullanımı

Peki vektör içerisindeki elemanlara nasıl erişiriz?

  • Bunun için indisler kullanmamız gereklidir:
yaprak_uzunlugu[2]
bitki2 
   3.4 

Şimdi de ikinci ve dördüncü elemanlar arasındaki verileri geri döndürelim:

yaprak_uzunlugu[2:4]
bitki2 bitki3 bitki4 
   3.4    4.5    1.2 

Vektörlerde indis kullanımı

Eğer vektörümüzdeki elemanların isimleri varsa, bu isimleri de indis olarak kullanabiliriz:

yaprak_uzunlugu["bitki2"]
bitki2 
   3.4 

Vektörleri filtrelemek

  • Eğer istersek, vektörler içerisinde işlem de yapabiliriz.
  • Mesela yaprak uzunluğu 3’den büyük olan bitkileri geri döndürelim:
yaprak_uzunlugu > 3
 bitki1  bitki2  bitki3  bitki4  bitki5  bitki6  bitki7  bitki8  bitki9 bitki10 
  FALSE    TRUE    TRUE   FALSE    TRUE      NA   FALSE    TRUE   FALSE      NA 

Vektörleri filtrelemek

  • Bir mantıksal vektör elde ettik.
  • İstersek bu vektörü, başka bir vektöre indis olarak da kullanabiliriz:
bitki_ismi[yaprak_uzunlugu > 3]
[1] "bitki2" "bitki3" "bitki5" NA       "bitki8" NA      

Vektörlerden eleman çıkartmak

Eğer - işareti ile eksi indis verirsek, o elemanı vektörden çıkartabiliriz:

yaprak_uzunlugu[-5]
 bitki1  bitki2  bitki3  bitki4  bitki6  bitki7  bitki8  bitki9 bitki10 
    2.3     3.4     4.5     1.2      NA     1.8     6.3     2.1      NA 

seq fonksiyonu

  • İki farklı sayı arasında, belirli aralıklara göre bir sayı vektörü oluşturulabilir.
  • Mesela 2 ila 16 arasında 1 artış ile bir vektör oluşturalım:
seq(2,16)
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16

seq fonksiyonu

Ya da kısaca bu şekilde de oluşturabiliriz:

2:16
 [1]  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16

seq fonksiyonu

Artış mikarını kendimiz belirliyebiliriz. Mesela her adımda 4 sayı artış olsun:

seq(2, 16, 2)
[1]  2  4  6  8 10 12 14 16

Sonuç

Bu kısım kapsamında aşağıdaki konular önemlidir:

  • Bir vektör oluşturmak için c() fonksiyonunu kullanırız ve vektör elemanlarını , ile ayırırız.
  • Bir vektörün uzunluğunu öğrenmek için length() fonksiyonunu kullanırız.
  • Vektör içinde bir ya da bir grup elemanı geri döndürmek için ise indisler kullanırız: yaprak_uzunlugu[5]
  • seq fonksiyonu kullanımı