Program
Transpose matriks adalah tugas manipulasi data yang umum di lingkungan pemrograman R. Dalam tutorial ini, saya akan memandu Anda cara melakukan transpose matriks secara efektif di R, dengan menunjukkan beberapa metode untuk menyelesaikan tugas ini. Mari kita mulai!
Jawaban Cepat: Cara Transpose Matriks di R
Jika Anda terburu-buru, cara tercepat untuk melakukan transpose matriks di R adalah menggunakan fungsi t(). Fungsi t() merupakan bagian dari base R dan memberikan cara instan untuk melakukan transpose matriks. Berikut contoh sederhana:
# Creating a sample matrix
my_matrix <- matrix(1:6, nrow = 2, ncol = 3)
print(my_matrix)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
# Transposing the matrix
transposed_matrix <- t(my_matrix)
print(transposed_matrix)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
Apa itu Transpose?
Melakukan transpose pada sebuah matriks berarti menukar baris dan kolomnya, mengubah data baris menjadi data kolom, dan sebaliknya. Operasi ini umum digunakan dalam manipulasi data untuk menyusun ulang set data agar lebih sesuai untuk analisis atau visualisasi tertentu. Misalnya, pertimbangkan sebuah matriks yang berisi suhu harian untuk berbagai kota. Melakukan transpose pada data ini akan menukar baris (hari) dengan kolom (kota), yang berpotensi menyederhanakan operasi lanjutan seperti pembuatan plot atau analisis statistik.
|
Hari |
New York |
Lost Angeles |
Chicago |
|
Hari 1 |
22 |
25 |
18 |
|
Hari 2 |
20 |
28 |
21 |
Contoh dataset cuaca untuk 3 kota sebelum ditranspose
|
Kota |
Hari 1 |
Hari 2 |
|
New York |
22 |
20 |
|
Los Angeles |
25 |
28 |
|
Chicago |
18 |
21 |
Contoh dataset cuaca untuk 3 kota setelah ditranspose
Tiga Metode untuk Transpose Matriks di R
Dengan matriks suhu harian untuk berbagai kota, mari kita telusuri cara melakukan transpose matriks ini menggunakan berbagai metode di R.
Metode #1: Cara Transpose Matriks di R Menggunakan Base R
Metode paling langsung untuk melakukan transpose matriks di R adalah menggunakan fungsi base R t(), seperti yang telah ditunjukkan sebelumnya. Metode ini efisien dan langsung, serta menjadi andalan untuk cepat melakukan transpose matriks tanpa paket tambahan.
# Assume that temparature_matrix is already predefined
print(temperature_matrix)
New_York Los_Angeles Chicago
Day 1 22 20 25
Day 2 28 18 21
# Transpose temperature_matrix
transposed_matrix <- t(temperature_matrix)
print(transposed_matrix)
Day 1 Day 2
New_York 22 28
Los_Angeles 20 18
Chicago 25 21
Metode #2: Melakukan Transpose Matriks di R Menggunakan tidyverse
tidyverse adalah seperangkat alat yang kuat di R yang membuat pekerjaan dengan data menjadi efisien dan konsisten. Meskipun tidyverse umumnya digunakan dengan data frame, Anda dapat mengonversi matriks menjadi data frame lalu menggunakan tidyr untuk "mentranspose" dengan cara pivot. Ini sangat berguna jika Anda sudah menggunakan tidyverse untuk menganalisis data.
library(tidyr)
library(dplyr)
library(tibble)
# Converting the matrix to a data frame for tidyverse manipulation
temperature_df <- as.data.frame(temperature_matrix)
# "Transposing" the matrix by converting to long then wide format
transposed_df <- temperature_df %>%
rownames_to_column(var = "Day") %>%
pivot_longer(-Day, names_to = "City", values_to = "Temperature") %>%
pivot_wider(names_from = City, values_from = Temperature)
print(transposed_df)
# A tibble: 2 × 4
Day New_York Los_Angeles Chicago
<chr> <dbl> <dbl> <dbl>
1 Day 1 22 20 25
2 Day 2 28 18 21
Metode #3: Melakukan Transpose Matriks di R Menggunakan data.table
Serupa dengan pendekatan tidyverse, data.table dapat bekerja dengan data frame atau data table. Berikut cara Anda dapat melakukan transpose matriks dengan terlebih dahulu mengonversinya menjadi data table:
library(data.table)
# Converting the matrix to a data.table
temperature_dt <- as.data.table(temperature_matrix, keep.rownames = "Day")
# Transposing the matrix by melting and dcasting (similar to pivot_longer and pivot_wider)
transposed_dt <- melt(temperature_dt, id.vars = "Day") %>%
dcast(variable ~ Day, value.var = "value")
print(transposed_dt)
variable Day 1 Day 2
1: New_York 22 28
2: Los_Angeles 20 18
3: Chicago 25 21
Penutup
Transpose matriks adalah keterampilan mendasar dalam pemrograman R. Baik Anda bekerja dengan base R, tidyr dalam tidyverse, maupun paket data.table, R menyediakan opsi yang fleksibel untuk memenuhi kebutuhan data Anda. Jika Anda ingin belajar lebih jauh, lihat Cheat Sheet Reshaping Data dengan tidyr di R, atau langsung mulai dengan Skill Track Data Manipulation in R.
Adel adalah pendidik Data Science, pembicara, dan VP Media di DataCamp. Adel telah merilis berbagai kursus dan pelatihan langsung tentang analisis data, machine learning, dan rekayasa data. Ia bersemangat menyebarkan keterampilan dan literasi data di seluruh organisasi serta mengeksplorasi persinggungan teknologi dan masyarakat. Ia meraih gelar MSc di bidang Data Science dan Business Analytics. Di waktu luang, Anda bisa menemukannya bersantai bersama kucingnya, Louis.

