0Pricing
R Academy · Ders

Matrisleri Transpoze Etme ve Yeniden Şekillendirme

Matrisler üzerinde t(), dim() ve reshape işlemlerini kullanın.

Matrisleri Transpoze Etme ve Yeniden Şekillendirme, CoddyKit'te ücretsiz bir R Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, R Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. R Academy kursu toplamda 4 dersten oluşur.

t() ile Matrisi Transpoze Etme

t(m) bir matrisi transpoze eder; satırları ve sütunları değiştirerek sonuçta i. satırın i. sütun olmasını sağlar. Boyutlar yer değiştirir: 3x4'lük bir matris transpozeden sonra 4x3'lük bir matrise dönüşür.

m <- matrix(1:6, nrow = 2, ncol = 3)
cat('Original (2x3):
'); print(m)
cat('Transposed (3x2):
'); print(t(m))
cat('Original dim:', dim(m), '-> Transposed dim:', dim(t(m)), '
')

Adlandırılmış Boyutlarla Transpozisyon

Bir matrisin satır ve sütun adları olduğunda t() adları doğru şekilde yer değiştirir: satır adları sütun adları, sütun adları da satır adları olur. Böylece transpozisyondan sonra verileriniz etiketli kalır.

scores <- matrix(
  c(88,92,75, 79,85,90),
  nrow = 2, byrow = TRUE,
  dimnames = list(c('Alice', 'Bob'), c('Math', 'Sci', 'Eng'))
)
cat('Original (students x subjects):
'); print(scores)
cat('Transposed (subjects x students):
'); print(t(scores))

dim(m) &lt;- c(r, c) ile Yeniden Şekillendirme

dim özniteliğini yeniden atayarak bir matrisi yeniden şekillendirebilirsiniz. Toplam öğe sayısı aynı kalmalıdır. Yeniden şekillendirme, tıpkı matrix() gibi sütun sütun okur ve doldurur.

m <- matrix(1:12, nrow = 3, ncol = 4)
cat('Original (3x4):
'); print(m)

# Reshape to 4x3
dim(m) <- c(4, 3)
cat('Reshaped to (4x3):
'); print(m)

# Reshape to 6x2
dim(m) <- c(6, 2)
cat('Reshaped to (6x2):
'); print(m)

as.vector() ile Matrisi Vektöre Dönüştürme

as.vector(m) bir matrisi, değerleri sütun sütun okuyarak tek boyutlu bir vektöre dönüştürür. Bu işlem nesnedeki tüm boyut özniteliklerini kaldırır.

m <- matrix(c(10,20,30,40,50,60), nrow = 2, ncol = 3)
cat('Matrix:
'); print(m)

v <- as.vector(m)
cat('As vector (col-by-col):', v, '
')
cat('Is vector:', is.vector(v), '
')
cat('Is matrix:', is.matrix(v), '
')

as.matrix() ile Vektörü Matr ese Dönüştürme

as.matrix(v) bir vektörü tek sütunlu bir matrise dönüştürür. Bu en basit dönüştürme yöntemidir. Ardından istediğiniz boyutları elde etmek için dim() kullanarak yeniden şekillendirebilirsiniz.

v <- c(5, 10, 15, 20, 25, 30)
cat('Vector:', v, '
')

# as.matrix makes a 6x1 matrix
m_single_col <- as.matrix(v)
cat('Single-column matrix:
'); print(m_single_col)
cat('Dimensions:', dim(m_single_col), '
')

rbind() — Satırları Üst Üste Birleştirme

rbind(), matrisleri veya vektörleri satırları üst üste ekleyerek birleştirir. Tüm girdiler aynı sayıda sütuna sahip olmalıdır. Ortaya çıkan matrisin satır sayısı, girdilerin satır sayılarının toplamıdır.

first_half <- matrix(1:6, nrow = 2, ncol = 3)
second_half <- matrix(7:12, nrow = 2, ncol = 3)

combined <- rbind(first_half, second_half)
cat('rbind result (4x3):
'); print(combined)
cat('Dimensions:', dim(combined), '
')

cbind() — Sütunları Birleştirme

cbind(), matrisleri veya vektörleri sütunları yan yana ekleyerek birleştirir. Tüm girdiler aynı sayıda satıra sahip olmalıdır. Sonuç, sütun sayılarının toplamına sahip olur.

ids <- matrix(101:104, nrow = 4, ncol = 1)
scores_mat <- matrix(c(88,79,95,72, 92,85,78,90), nrow = 4)

full_data <- cbind(ids, scores_mat)
colnames(full_data) <- c('ID', 'Test1', 'Test2')
cat('cbind result:
'); print(full_data)

Adlandırılmış Satır/Sütunlarla rbind() ve cbind()

Adlandırılmış matrislerde veya adlandırılmış vektörlerde rbind() ya da cbind() kullandığınızda boyut adları korunur (ve vektörlerde vektör adları satır veya sütun adlarına dönüşür).

# Add a new student row with rbind
existing <- matrix(c(88,92,75, 79,85,90), nrow = 2, byrow = TRUE,
                   dimnames = list(c('Alice','Bob'), c('Math','Sci','Eng')))
new_student <- c(Math=95, Sci=78, Eng=82)
updated <- rbind(existing, Carol = new_student)
cat('Updated roster:
'); print(updated)

İki Kez Transpoze Etme Özdeşliği

t() işlevinin iki kez uygulanması özgün matrisi döndürür. Bu, kullanışlı bir tutarlılık kontrolüdür ve transpozisyonun kendi ters işlemi olduğunu gösterir: t(t(m)) == m.

m <- matrix(c(1,2,3,4,5,6), nrow = 2)
cat('Original:
'); print(m)
cat('t(m):
');    print(t(m))
cat('t(t(m)):
'); print(t(t(m)))
cat('t(t(m)) == m:', all(t(t(m)) == m), '
')

Uygulama: Pivot Tarzı Yeniden Şekillendirme

Yaygın bir yeniden şekillendirme görevi, geniş ve uzun biçimler arasında dönüşüm yapmaktır. Burada matris işlemlerini kullanarak geniş biçimden uzun biçime manuel bir pivot işlemini; transpoze etme, düzleştirme ve yapıyı yeniden oluşturma adımlarıyla benzetiyoruz.

# Wide: 3 students x 4 months scores
wide <- matrix(c(85,88,90,92, 78,80,79,83, 91,94,88,95),
               nrow = 3, byrow = TRUE)
rownames(wide) <- c('Alice', 'Bob', 'Carol')
colnames(wide) <- c('Jan', 'Feb', 'Mar', 'Apr')
cat('Wide format:
'); print(wide)

# Transposed: 4 months x 3 students
long_view <- t(wide)
cat('Transposed (months x students):
'); print(long_view)

Yeniden Şekillendirme ve Birleştirme Özeti

Matrisler için temel yeniden şekillendirme ve birleştirme araçları:

  • t(m) — transpoze etme (satırlarla sütunları değiştirme)
  • dim(m) <- c(r, c) — yerinde yeniden şekillendirme (toplam öğe sayısı aynı olmalıdır)
  • as.vector(m) — 1B vektöre düzleştirme (sütun öncelikli)
  • as.matrix(v) — vektörü sütun matrisine dönüştürme
  • rbind(...) — matrisleri dikey olarak üst üste ekleme
  • cbind(...) — matrisleri yatay olarak yan yana birleştirme
# Demo all tools
v <- 1:6
m1 <- as.matrix(v)               # 6x1
dim(m1) <- c(2, 3)               # reshape to 2x3
m2 <- t(m1)                      # 3x2
m3 <- cbind(m2, c(10, 20, 30))   # 3x3
cat('Final matrix:
'); print(m3)

Hızlı Kontrol

t(matrix(1:12, nrow = 3, ncol = 4)) hangi boyutları üretir?

Özet: Transpoze Etme ve Yeniden Şekillendirme

Mükemmel! Bu dersten çıkarılacak önemli noktalar:

  • t(m) satırlarla sütunların yerini değiştirir; t(t(m)) özgün matrisi döndürür
  • dim(m) <- c(r, c) kopyalama yapmadan yeniden şekillendirir (aynı sayıda öğe gerekir)
  • as.vector() matrisi sütun sütun düzleştirir; as.matrix() tek sütunlu bir matris oluşturur
  • rbind() satırları üst üste ekler (aynı sütun sayısı gerekir)
  • cbind() sütunları yan yana birleştirir (aynı satır sayısı gerekir)
  • Adlandırılmış boyutlar bu işlemler boyunca korunur
# Practical: merge data then compute column means
team_a <- matrix(c(82,78,91, 85,80,88), nrow = 2, byrow=TRUE)
team_b <- matrix(c(75,92,79, 88,84,93), nrow = 2, byrow=TRUE)
all_teams <- rbind(team_a, team_b)
colnames(all_teams) <- c('Speed', 'Accuracy', 'Strength')
cat('Combined teams:
'); print(all_teams)
cat('Average per skill:', colMeans(all_teams), '
')

Sıkça Sorulan Sorular

“Matrisleri Transpoze Etme ve Yeniden Şekillendirme” dersi ücretsiz mi?

Evet — “Matrisleri Transpoze Etme ve Yeniden Şekillendirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve R Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. R Academy kursu toplamda 4 dersten oluşur.

“Matrisleri Transpoze Etme ve Yeniden Şekillendirme” dersinde ne öğreneceğim?

Matrisler üzerinde t(), dim() ve reshape işlemlerini kullanın. R Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

R Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te R Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Matrisleri Transpoze Etme ve Yeniden Şekillendirme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu R Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her R Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. matrix() ile Matris Oluşturma
  2. Matris İndeksleme ve Alt Kümeleme
  3. Matris Aritmetiği ve İşlemleri
  4. Matrisleri Transpoze Etme ve Yeniden Şekillendirme
← R Academy Sayfasına Dön