Matris İndeksleme ve Alt Kümeleme
[row, col] gösterimini kullanarak satırlara, sütunlara ve öğelere erişin.
Matris İndeksleme ve Alt Kümeleme, CoddyKit'te ücretsiz bir R Academy dersidir. Bu, 4 dersinin 2. 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.
Matris İndeksleme Temelleri
Bir matristeki öğelere erişmek için m[row, col] gösterimini kullanın. R'de satır ve sütun indeksleri 1'den başlar. Virgül gereklidir; virgülün atlanması matrisi düz bir vektör olarak ele alır.
m <- matrix(1:12, nrow = 3, ncol = 4)
cat('Full matrix:
')
print(m)
# Element at row 2, column 3
cat('m[2, 3] =', m[2, 3], '
')
# Element at row 1, column 4
cat('m[1, 4] =', m[1, 4], '
')Tam Satır Çıkarma
Bir satırın tamamını çıkarmak için sütun indeksini boş bırakın. Sonuç bir vektördür (matris boyutu kaldırılır). Virgül yine de bulunmalıdır.
scores <- matrix(c(88,92,75,81, 79,85,90,73, 95,78,82,88),
nrow = 3, byrow = TRUE)
rownames(scores) <- c('Alice', 'Bob', 'Carol')
colnames(scores) <- c('Math', 'Sci', 'Eng', 'Hist')
print(scores)
# Extract Alice's row
alice_scores <- scores[1, ]
cat('Alice:', alice_scores, '
')
cat('Alice mean:', mean(alice_scores), '
')Tam Sütun Çıkarma
Bir sütunun tamamını çıkarmak için satır indeksini boş bırakın. Satır çıkarmada olduğu gibi sonuç bir vektördür. Satır ve sütun konumlarını ayıran virgül yine de bulunmalıdır.
scores <- matrix(c(88,92,75,81, 79,85,90,73, 95,78,82,88),
nrow = 3, byrow = TRUE)
rownames(scores) <- c('Alice', 'Bob', 'Carol')
colnames(scores) <- c('Math', 'Sci', 'Eng', 'Hist')
# Extract the Math column
math_scores <- scores[, 1]
cat('Math scores:', math_scores, '
')
cat('Math mean: ', mean(math_scores), '
')
cat('Math max: ', max(math_scores), '
')Birden Çok Satır ve Sütun İçin Alt Kümeleme
Aynı anda birden çok satır veya sütun çıkarmak için indekslerden oluşan bir vektör kullanın. Sonuç, iki boyutlu yapıyı koruyan bir alt matristir (vektör değil, hâlâ bir matristir).
m <- matrix(1:16, nrow = 4, ncol = 4)
cat('Original 4x4:
')
print(m)
# Extract rows 1,3 and columns 2,4
sub_m <- m[c(1, 3), c(2, 4)]
cat('Submatrix rows 1,3 cols 2,4:
')
print(sub_m)
cat('Class:', class(sub_m), '
')Satır/Sütun Adıyla Erişme
Bir matrisin satır ve sütun adları varsa konum yerine adla indeksleyebilirsiniz. Bu yöntem daha okunabilirdir ve satırların veya sütunların yeniden sıralanmasına karşı daha dayanıklıdır.
scores <- matrix(c(88,92,75,81, 79,85,90,73, 95,78,82,88),
nrow = 3, byrow = TRUE,
dimnames = list(
c('Alice', 'Bob', 'Carol'),
c('Math', 'Sci', 'Eng', 'Hist')
))
# Access by name
cat('Bob Science:', scores['Bob', 'Sci'], '
')
cat('Carol row:
')
print(scores['Carol', ])
cat('English column:
')
print(scores[, 'Eng'])Matrislerde Mantıksal İndeksleme
Öğeleri seçmek için mantıksal bir vektör (veya mantıksal bir matris) kullanabilirsiniz. Bir boyutta mantıksal vektör kullanıldığında, değeri TRUE olan satırları veya sütunları seçer.
scores <- matrix(c(88,92,75,81, 79,85,90,73, 95,78,82,88),
nrow = 3, byrow = TRUE)
rownames(scores) <- c('Alice', 'Bob', 'Carol')
# Select students with mean score >= 85
row_means <- rowMeans(scores)
high_achievers <- scores[row_means >= 85, ]
cat('High achievers (mean >= 85):
')
print(high_achievers)Negatif İndeksleme — Satırları/Sütunları Hariç Tutma
Bir satırı veya sütunu hariç tutmak için indeksin önüne - ekleyin. Bu, tutmak istediğiniz diğer satır veya sütunların tümünü listelemeden belirli satırları veya sütunları kaldırmanın kolay bir yoludur.
m <- matrix(1:12, nrow = 3, ncol = 4, byrow = TRUE)
cat('Original:
')
print(m)
# Drop row 2
cat('Without row 2:
')
print(m[-2, ])
# Drop columns 1 and 3
cat('Without cols 1 and 3:
')
print(m[, c(-1, -3)])drop = FALSE ile Tek Öğe
Varsayılan olarak tek bir satır veya sütun çıkarıldığında boyut kaldırılır (bir vektör döndürülür). Sonucun matris olarak kalması (satır/sütun yapısının korunması) için drop = FALSE kullanın.
m <- matrix(1:9, nrow = 3, ncol = 3)
# Default: drops to vector
row1_vector <- m[1, ]
cat('m[1,] class:', class(row1_vector), '
') # numeric (vector)
# drop = FALSE: keeps as 1-row matrix
row1_matrix <- m[1, , drop = FALSE]
cat('m[1,,drop=FALSE] class:', class(row1_matrix), '
')
cat('Dimensions:', dim(row1_matrix), '
')İndeksle Değerleri Değiştirme
İndekslemeyi atamayla birleştirerek belirli öğeleri değiştirebilirsiniz. Bu işlem tek öğeler, satırların tamamı, sütunların tamamı veya alt matrisler için çalışır.
m <- matrix(0, nrow = 4, ncol = 4)
cat('Zero matrix:
')
print(m)
# Set diagonal to 5
for (i in 1:4) m[i, i] <- 5
cat('After setting diagonal:
')
print(m)
# Replace entire row 2
m[2, ] <- c(1, 2, 3, 4)
cat('After replacing row 2:
')
print(m)Doğrusal (Düz) İndeksleme
Bir matris, dahili olarak düz bir vektör şeklinde (sütun sütun) depolanır. Öğelere bu düz sıradaki tek bir tam sayı indeksiyle erişebilirsiniz. Bu, bazı toplu işlemlerde yararlı olabilir.
m <- matrix(c(10,20,30,40,50,60), nrow = 2, ncol = 3)
cat('Matrix:
')
print(m)
# Flat indices: column by column
cat('m[1] =', m[1], '(row 1, col 1)
')
cat('m[3] =', m[3], '(row 1, col 2)
')
cat('m[5] =', m[5], '(row 1, col 3)
')
# Replace flat index 4
m[4] <- 99
print(m)İndeksleme Özeti
R'de matris indeksleme için hızlı başvuru:
m[r, c]— r satırındaki, c sütunundaki tek öğem[r, ]— r satırının tamamım[, c]— c sütununun tamamım[c(r1,r2), c(c1,c2)]— alt matrism['name', 'name']— boyut adıyla erişimm[-r, ]— r satırını hariç tutmam[logical_vec, ]— mantıksal satır seçimim[r, , drop=FALSE]— matris olarak koruma
m <- matrix(c(5,10,15,20,25,30), nrow = 2, ncol = 3)
cat('m[1,2] =', m[1,2], '
')
cat('m[2,] =', m[2,], '
')
cat('m[,3] =', m[,3], '
')
cat('m[-1,] :
'); print(m[-1, ])Hızlı Kontrol
3 satırlı bir m matrisi için m[-2, ] ne döndürür?
Özet: Matris İndeksleme
Harika çalıştınız! Bu dersten çıkarılacak önemli noktalar:
m[r, c]önce satırı, sonra sütunu kullanır; her iki konum virgülle ayrılır- Satırların veya sütunların tamamını çıkarmak için bir tarafı boş bırakın (
m[r, ]veyam[, c]) - Negatif indeksler satırları veya sütunları hariç tutar
- Mantıksal vektörler satırları veya sütunları filtreleyebilir
- Adlandırılmış boyutlar, okunabilirlik için ada göre indekslemeye olanak tanır
drop = FALSE, tek satır veya sütun çıkarılırken boyut kaybını önler
# Practical: find best student per subject
scores <- matrix(c(88,92,75,81, 79,85,90,73, 95,78,82,88),
nrow = 3, byrow = TRUE)
rownames(scores) <- c('Alice', 'Bob', 'Carol')
colnames(scores) <- c('Math', 'Sci', 'Eng', 'Hist')
for (subj in colnames(scores)) {
best <- rownames(scores)[which.max(scores[, subj])]
cat('Best in', subj, ':', best, '
')
}Yapay zeka eğitmeniyle R öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 43
- Dersler
- 159
Sıkça Sorulan Sorular
“Matris İndeksleme ve Alt Kümeleme” dersi ücretsiz mi?
Evet — “Matris İndeksleme ve Alt Kümeleme” 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.
“Matris İndeksleme ve Alt Kümeleme” dersinde ne öğreneceğim?
[row, col] gösterimini kullanarak satırlara, sütunlara ve öğelere erişin. 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 2. dersidir.
“Matris İndeksleme ve Alt Kümeleme” 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
- matrix() ile Matris Oluşturma
- Matris İndeksleme ve Alt Kümeleme
- Matris Aritmetiği ve İşlemleri
- Matrisleri Transpoze Etme ve Yeniden Şekillendirme