R'de tabloyu matrise dönüştürme (örnek ile)


Bir tabloyu R’de bir matrise dönüştürmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Diziyi R’de Matrise Dönüştürme

Öncelikle R’de farklı basketbolcuların takımlarını ve pozisyonlarını gösteren aşağıdaki veri çerçevesini oluşturalım:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'C', 'G', 'F', 'C', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AF
4 AC
5 BG
6 BF
7 BC
8 BC

Daha sonra her takımın sıklığını ve pozisyon kombinasyonunu gösteren bir tablo oluşturalım:

 #create frequency table of values for team and position
my_table <- table(df$team, df$position)

#view table
my_table

    CFG
  A 1 1 2
  B 2 1 1

my_table adlı nesnenin gerçekten bir tablo olduğunu doğrulamak için class() işlevini kullanabiliriz:

 #display class of my_table
class(my_table)

[1] “table”

Daha sonra diziyi bir matrise dönüştürmek için aşağıdaki sözdizimini kullanabiliriz:

 #convert table to matrix
my_matrix <- matrix(my_table, ncol=ncol(my_table), dimnames=dimnames(my_table))

#view matrix
my_matrix

    CFG
  A 1 1 2
  B 2 1 1

Ve my_matrix adlı nesnenin gerçekten bir matris olduğunu doğrulamak için class() fonksiyonunu kullanabiliriz:

 #display class of my_matrix
class(my_matrix)

[1] "matrix" "array"

Not #1 : ncol argümanı, matristeki sütun sayısının tablodaki sütun sayısıyla eşleşmesini sağlar.

Not #2 : Dinames argümanı, satır ve sütun adlarının tablodakilerle eşleşmesini sağlar.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’de bir tabloyu veri çerçevesine dönüştürme
R’de matris vektöre nasıl dönüştürülür
Bir liste R’de bir matrise nasıl dönüştürülür?
R’de veri çerçevesi sütunu vektöre nasıl dönüştürülür

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir