0Pricing
R Academy · Pelajaran

Mentransposisi dan Mengubah Bentuk Matriks

Gunakan t(), dim(), dan operasi reshape pada matriks.

Mentransposisi dan Mengubah Bentuk Matriks adalah pelajaran R Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar R Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus R Academy mencakup 4 pelajaran total.

Mentransposisikan Matrix dengan t()

t(m) mentransposisikan matrix — menukar baris dan kolom sehingga baris i menjadi kolom i pada hasilnya. Dimensinya bertukar: matrix 3x4 menjadi matrix 4x3 setelah ditransposisikan.

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)), '
')

Transposisi dengan Dimensi Bernama

Jika sebuah matrix memiliki nama baris dan kolom, t() menukar nama-nama tersebut dengan benar: nama baris menjadi nama kolom dan sebaliknya. Dengan demikian, label data tetap dipertahankan setelah transposisi.

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))

Mengubah Bentuk dengan dim(m) <- c(r, c)

Anda dapat mengubah bentuk matrix dengan menetapkan ulang atribut dim-nya. Jumlah total elemen harus tetap sama. Pengubahan bentuk membaca dan mengisi data kolom demi kolom, sama seperti matrix().

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)

Mengonversi Matrix menjadi Vector dengan as.vector()

as.vector(m) meratakan matrix menjadi vector satu dimensi dengan membaca nilai kolom demi kolom. Semua atribut dimensi dihapus dari objek tersebut.

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), '
')

Mengonversi Vector menjadi Matrix dengan as.matrix()

as.matrix(v) mengonversi vector menjadi matrix satu kolom. Ini adalah konversi paling sederhana. Selanjutnya, Anda dapat mengubah bentuknya menggunakan dim() untuk memperoleh dimensi yang diinginkan.

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() — Menumpuk Baris

rbind() menggabungkan matrix atau vector dengan cara menumpuk baris. Semua input harus memiliki jumlah kolom yang sama. Matrix yang dihasilkan memiliki jumlah baris gabungan.

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() — Menggabungkan Kolom

cbind() menggabungkan matrix atau vector dengan cara menyatukan kolom berdampingan. Semua input harus memiliki jumlah baris yang sama. Hasilnya memiliki jumlah kolom gabungan.

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)

rbind() dan cbind() dengan Baris/Kolom Bernama

Saat Anda menggunakan rbind() atau cbind() pada matrix atau vector bernama, nama dimensi dipertahankan (dan untuk vector, nama vector menjadi nama baris atau kolom).

# 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)

Identitas Transposisi Ganda

Menerapkan t() dua kali mengembalikan matrix semula. Ini merupakan pemeriksaan kewajaran yang berguna dan menunjukkan bahwa transposisi merupakan operasi invers bagi dirinya sendiri: 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), '
')

Praktik: Pengubahan Bentuk Bergaya Pivot

Tugas pengubahan bentuk yang umum adalah mengonversi antara format lebar dan panjang. Di sini kita menyimulasikan pivot manual dari format lebar ke panjang menggunakan operasi matrix — mentransposisikan, meratakan, dan membangun ulang struktur.

# 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)

Ringkasan Pengubahan Bentuk dan Penggabungan

Alat utama untuk mengubah bentuk dan menggabungkan matrix:

  • t(m) — mentransposisikan (menukar baris dan kolom)
  • dim(m) <- c(r, c) — mengubah bentuk langsung (jumlah total elemen harus sama)
  • as.vector(m) — meratakan menjadi vector 1D (urutan kolom utama)
  • as.matrix(v) — mengonversi vector menjadi matrix satu kolom
  • rbind(...) — menumpuk matrix secara vertikal
  • cbind(...) — menggabungkan matrix secara horizontal
# 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)

Pemeriksaan Singkat

Dimensi apa yang dihasilkan oleh t(matrix(1:12, nrow = 3, ncol = 4))?

Ringkasan: Mentransposisikan dan Mengubah Bentuk

Sangat baik! Hal-hal penting dari pelajaran ini:

  • t(m) menukar baris dan kolom; t(t(m)) mengembalikan matrix semula
  • dim(m) <- c(r, c) mengubah bentuk tanpa menyalin (jumlah elemen harus sama)
  • as.vector() meratakan data kolom demi kolom; as.matrix() membuat matrix satu kolom
  • rbind() menumpuk baris (jumlah kolom harus sama)
  • cbind() menggabungkan kolom berdampingan (jumlah baris harus sama)
  • Dimensi bernama dipertahankan melalui operasi-operasi ini
# 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), '
')

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mentransposisi dan Mengubah Bentuk Matriks” gratis?

Ya — teks lengkap “Mentransposisi dan Mengubah Bentuk Matriks” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus R Academy, upgrade ke CoddyKit PRO. Kursus R Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mentransposisi dan Mengubah Bentuk Matriks”?

Gunakan t(), dim(), dan operasi reshape pada matriks. Kamu berlatih R Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai R Academy?

Tidak diperlukan pengalaman sebelumnya. R Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Mentransposisi dan Mengubah Bentuk Matriks” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran R Academy ini?

Ya. Setiap pelajaran R Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Matriks dengan matrix()
  2. Pengindeksan dan Subset Matriks
  3. Aritmetika dan Operasi Matriks
  4. Mentransposisi dan Mengubah Bentuk Matriks
← Kembali ke R Academy