3 Matrisler
Bir matris, iki boyutlu bir dikdörtgen yatay kesitli düzenlenmiş veri elemanlarının bir koleksiyonudur. Matrix() fonksiyonu ile R'da matrix'in bellek temsili yeniden oluşturulur. Veri elemanları aynı temel tipte olmalıdır.
A=matrix(
c(2,4,3,1,5,7) , #Veri elementleri
nrow=2, #satır sayısı
ncol=3 , #sütun sayısı
A'nın m. satır ve n. sütunda yer alan üye, A[m,n] ifadesi ile erişilebilir.
A[2,3]
A
[1] 7
A matrix'inde m. satırın tümün yazdırmak istiyorsak, A[m,] ifadesi kullanılır. Aynı şekilde sütun içinde geçerlidir. A[,n]
A[2,]
[1] 1,5,7
A[,3]
[1] 3,7
Aynı zamanda birden fazla satır ve sütunları yazdırılabiliriz
A[,c(1,3)] #1. ve 3. sütundaki tüm elemanları yazdırır
[,1] [,2]
[1,] 2 3
[2,] 1 7
Eğer matrix'in satır ve sütunlarına isim atarsak, o zaman isimler ile satır ve sütunlara erişebiliriz.
dimnames(A)=list(c("row1","row2"),
c("col1","col2","col3"))
A
col1 col2 col3
row1 2 4 3
row2 1 5 7
A["row2","col3"]
[1] 7
A[,c(1,3)] #1. ve 3. sütundaki tüm elemanları yazdırır
[,1] [,2]
[1,] 2 3
[2,] 1 7
Eğer matrix'in satır ve sütunlarına isim atarsak, o zaman isimler ile satır ve sütunlara erişebiliriz.
dimnames(A)=list(c("row1","row2"),
c("col1","col2","col3"))
A
col1 col2 col3
row1 2 4 3
row2 1 5 7
A["row2","col3"]
[1] 7
4-List
List diğer nesneleri içeren genel bir vektördür. Örneğin aşağıdaki x değişkeni, 3 vektör olan n,s,b nin kopyalarını ve numerik değer olan 3'ü içerir
n = c(2, 3, 5)
s = c("aa", "bb", "cc", "dd", "ee")
b = c(TRUE, FALSE, TRUE, FALSE, FALSE) x = list(n, s, b, 3)
s = c("aa", "bb", "cc", "dd", "ee")
b = c(TRUE, FALSE, TRUE, FALSE, FALSE) x = list(n, s, b, 3)
Liste Dilimleme
[] operatörü ile listenin bir dilimini alabiliriz. Aşağıdaki x ikinci üyesini içeren bir dilim ki bu da s'in kopyasına denk geliyor
x[2]
Bir indeks vektörü ile, birden fazla üye ile bir dilim alınabilir. İşte x'in ikinci ve dördüncü üyelerini içeren bir dilim.
x[c(2, 4)]
[[1]]
[1] "aa" "bb" "cc" "dd" "ee"
[[2]]
[1] 3
Üye Çağırma
Doğrudan liste üyesine başvurmak için, iki tane köşeli ayraç "[[]]" kullanmalıyız,Aşağıda x[[2]], x nesnesinin ikinci üyesidir, Başka bir deyişle s'in kopyasıdır. ama s veya s'in kopyasını içeren bir dilim değildir
İçeriğini doğrudan düzenleyebiliriz
x[[2]][1] = "ta"
x[[2]]
x[[2]]
[1] "ta" "bb" "cc" "dd" "ee"
s
s
[1] "aa" "bb" "cc" "dd" "ee" #s etkilenmez
4-1 Liste Üyelerini isimlendirme
Liste üyelerine isim atayabiliriz, ve sayı indexlerinin yerine isimleri ile çağırabiliriz. Örneğin aşağıda v "bob" ve "john" isimli 2 üye içeren bir listedir
v = list(bob=c(2, 3, 5), john=c("aa", "bb"))
v
$bob
[1] 2 3 5
$john
[1] "aa" "bb"
Liste Dilimleme
Tek köşeli ayraç ile listenin bir dilimini alabiliriz. işte "bob" isimli v'nin üyesini içeren liste dilimi
$bob
[1] 2 3 5
Bir indeks vektörü ile, birden fazla üye ile bir dilim alabilirsiniz. İşte v'nin iki üyesi ile liste dilimi
v[c("john", "bob")]
$john
[1] "aa" "bb"
$bob
[1] 2 3 5
Üyeleri Çağırma
Doğrudan listenin üyesini çağırmak için çift köşeli ayraç kullanılır.
v[["bob"]]
[1] 2 3 5
Ayrıca
da kullanılır
Arama Yolu Eklenti
Eğer attach() fonksiyonuna elemanlarına ulaşmak istediğimiz listeyi eklersek, artık o listenin elemanına ulaşmak için listeyi belirmemizi gerek kalmaz sadece listenin üyesini yazsak içindeki elemanları gösterir işimiz bittikten sonra listeyi arama yolundan silmek istersek detach() fonksiyonu kullanılır
5-DataFrame
Veri tablolarının depolanması için kullanılır. Eşit uzunluktaki vektörlerin listesidir. Örneğin df değişkeni 3 vektör olan n,s,b 'yi içeren bir dataframe dir.
> n = c(2, 3, 5)
> s = c("aa", "bb", "cc")
> b = c(TRUE, FALSE, TRUE)
> df = data.frame(n, s, b)
Yerleşik DataFrame
Eğitim materyali için R'da yerleşik dataframe kullanılır. Örneğin R'da mtcars olarak adlandırılan yerleşik dataframe'dir
mtcars
mpg cyl disp hp drat wt ...
Mazda RX4 21.0 6 160 110 3.90 2.62 ...
Mazda RX4 Wag 21.0 6 160 110 3.90 2.88 ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
Tablonun üst satırı başlık olarak adlandırılır, sütun adları içerir. Her yatay çizgi sonrası veri satırını ifade eder. yani satır adı ile başlar ve ardından gerçek veriler takip edilir. Satırın her bir veri üyesi hücre olarak adlandırılır.
Hücrede veri almak için çift köşeli ayraçta satır ve sütun koordinatlarını girilmelidir. İki koordinat virgül ile ayrılır.
Burda ilk satır ve ikinci sütunun hücre değeri görülmektedir.
mtcars[1, 2]
[1] 6
Ayrıca yerin sayısal koordinatları yerine satır ve sütun adları kullanılabilir.
mtcars["Mazda RX4", "cyl"]
[1] 6
Son olarak verinin satır sayısı nrow() fonksiyonu ile verilmektedir.
> nrow(mtcars) # number of data rows
[1] 32
ve verinin sütun sayısı ncol() fonksiyonu ile verilmektedir.
> ncol(mtcars) # number of columns
[1] 11
"mtcars" veri kümesi içindaha fazla ayrıntı R documentasyonunda mevcuttur.
help(mtcars)
mtcars
mpg cyl disp hp drat wt ...
Mazda RX4 21.0 6 160 110 3.90 2.62 ...
Mazda RX4 Wag 21.0 6 160 110 3.90 2.88 ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
Tablonun üst satırı başlık olarak adlandırılır, sütun adları içerir. Her yatay çizgi sonrası veri satırını ifade eder. yani satır adı ile başlar ve ardından gerçek veriler takip edilir. Satırın her bir veri üyesi hücre olarak adlandırılır.
Hücrede veri almak için çift köşeli ayraçta satır ve sütun koordinatlarını girilmelidir. İki koordinat virgül ile ayrılır.
Burda ilk satır ve ikinci sütunun hücre değeri görülmektedir.
mtcars[1, 2]
[1] 6
Ayrıca yerin sayısal koordinatları yerine satır ve sütun adları kullanılabilir.
mtcars["Mazda RX4", "cyl"]
[1] 6
Son olarak verinin satır sayısı nrow() fonksiyonu ile verilmektedir.
> nrow(mtcars) # number of data rows
[1] 32
ve verinin sütun sayısı ncol() fonksiyonu ile verilmektedir.
> ncol(mtcars) # number of columns
[1] 11
"mtcars" veri kümesi içindaha fazla ayrıntı R documentasyonunda mevcuttur.
help(mtcars)
5.1 Data Frame Sütun Vektörü
İki çift köşeli ayraç işlemi ile dataframe sütunu çağırabiliriz. Örneğin yerleşik veri kümesi "mtcars "verisinin 9. sütunu almak için Aynı işlemi sütun ismi ile de yapılabilir.
mtcars[[9]]
[1] 1 1 1 0 0 0 0 0 0 0 0 ...
Aynı işlem sütun ismi ile de yapılabilir.
mtcars[["am"]]
[1] 1 1 1 0 0 0 0 0 0 0 0 ..
Ayrıca iki tane çift köşeli ayraç yerine $ işareti ile de alınabilir
mtcars$am
[1] 1 1 1 0 0 0 0 0 0 0 0 ...
[1] 1 1 1 0 0 0 0 0 0 0 0 ...
Bir başka yolda Sütunda ki tüm veriyi çağırmai daha önce bu gösterilmişti
5.2 Data Frame Sütun Dilimi
Tek çift köşeli ayraç işlemi ile dataframe sütun dilimi alınabilir.
Sayısal İndexleme
Aşağıda, yerleşik veri kümesi "mtcars" verisinin ilk sütunu gösterilmekte
İsim olarak İndexleme
Bir önceki örneği sütun ismi ile de yapılabilir.
İki sütun(mpg ve hp) ile dataframe sütun dilimi almak için tek köşeli ayraç işlemi içine dizin vektörün adları yazılır
> mtcars[c("mpg", "hp")]
mpg hp
Mazda RX4 21.0 110
Mazda RX4 Wag 21.0 110
Datsun 710 22.8 93
mpg hp
Mazda RX4 21.0 110
Mazda RX4 Wag 21.0 110
Datsun 710 22.8 93
5.1 Data Frame Satır Dilimi
Tek köşeli ayraç ile bir dataframe'den satırları alabiliriz sütunlardan yaptıüğımız gibi. Ancak satır pozisyonun dizin vektörüne ek olarak bir virgül karakteri ekleyin, bu önemlidir.
Sayısal İndexleme
Örneğin aşağıda yerleşik veri kümesi "mtcars" satır kayıtları alınmakta. Köşeli parantez işlemine ekstra olarak virgül olduğuna dikkat edin bu bir yazım hatası değil.
mtcars[24,]
mpg cyl disp hp drat wt ...
Camaro Z28 13.3 8 350 245 3.73 3.84 ...
Bir satırdan daha fazla almak istiyorsak sayısal bir index vektörü kullanılır
mtcars[c(3, 24),]
mpg cyl disp hp drat wt ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
Camaro Z28 13.3 8 350 245 3.73 3.84 ...
mpg cyl disp hp drat wt ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
Camaro Z28 13.3 8 350 245 3.73 3.84 ...
İsim olarak İndexleme
Satır ismi ile satırdaki bilgilere ulaşılabilir.
Birden fazla satır için
> mtcars[c("Datsun 710", "Camaro Z28"),]
mpg cyl disp hp drat wt ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
Camaro Z28 13.3 8 350 245 3.73 3.84 ...
mpg cyl disp hp drat wt ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
Camaro Z28 13.3 8 350 245 3.73 3.84 ...
Mantıksal İndexleme
Son olarak mantıksal bir index vektörü ile satırlara ulaşma. Aşağıdaki L vektörü, Eğer aracınızda otomotik şanzuman varsa üye değer TRUE yoksa FALSE tur.
L = mtcars$am == 0
L
[1] FALSE FALSE FALSE TRUE ...
L
[1] FALSE FALSE FALSE TRUE ...
İşte otomotik şanzumanlı araçların listesi
mtcars[L,]
mpg cyl disp hp drat wt ...
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 ...
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 ...
............
mpg cyl disp hp drat wt ...
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 ...
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 ...
............
Ve burada otomatik şanzıman için gaz kilometre verilir.
mtcars[L,]$mpg
[1] 21.4 18.7 18.1 14.3 24.4 ...
[1] 21.4 18.7 18.1 14.3 24.4 ...
0 yorum:
Yorum Gönder