Panduan Pemula untuk Reshape Data di R

Hai teman-teman masa depan yang akan menjadi pemrogram R! Hari ini, kita akan memulai perjalanan menarik ke dunia perombakan data di R. Jangan khawatir jika Anda belum pernah memrogram sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengambil langkah ini secara bertahap. Pada akhir panduan ini, Anda akan dapat merombak data seperti seorang profesional!

R - Data Reshaping

Apa Itu Perombakan Data?

Sebelum kita mendalam, mari kita bicarakan apa arti sebenarnya perombakan data. Bayangkan Anda memiliki banyak batu Lego. Perombakan data seperti mengatur ulang batu-batu Lego itu untuk membentuk struktur yang berbeda. Di R, kita melakukan hal yang sama dengan data kita - mengorganisirnya untuk membuatnya lebih berguna untuk analisis.

Sekarang, mari kita mulai dengan beberapa contoh praktis!

Menggabungkan Kolom dan Baris di Data Frame

Menambah Kolom

Mari kita mulai dengan sesuatu yang sederhana. Bayangkan Anda memiliki data frame yang berisi informasi tentang buah-buahan:

fruits <- data.frame(
name = c("Apple", "Banana", "Cherry"),
color = c("Red", "Yellow", "Red")
)
print(fruits)

Ini akan mengeluarkan output:

name  color
1  Apple    Red
2 Banana Yellow
3 Cherry    Red

Sekarang, mari kita katakan kita ingin menambahkan kolom baru untuk harga setiap buah:

fruits$price <- c(0.5, 0.3, 0.7)
print(fruits)

Dan voila! Kita telah menambahkan kolom baru:

name  color price
1  Apple    Red   0.5
2 Banana Yellow   0.3
3 Cherry    Red   0.7

Menambah Baris

Apa jika kita ingin menambahkan buah baru ke daftar kita? Kita juga bisa melakukan itu!

new_fruit <- data.frame(name = "Date", color = "Brown", price = 0.6)
fruits <- rbind(fruits, new_fruit)
print(fruits)

Ini memberikan kita:

name  color price
1  Apple    Red   0.5
2 Banana Yellow   0.3
3 Cherry    Red   0.7
4   Date  Brown   0.6

Menggabungkan Data Frames

Sekarang, mari kita katakan kita memiliki data frame lain yang berisi informasi nutrisi:

nutrition <- data.frame(
name = c("Apple", "Banana", "Cherry", "Date"),
calories = c(52, 89, 50, 282)
)

# Gabungkan dua data frames
fruit_info <- merge(fruits, nutrition, by = "name")
print(fruit_info)

Ini akan memberikan kita:

name  color price calories
1  Apple    Red   0.5       52
2 Banana Yellow   0.3       89
3 Cherry    Red   0.7       50
4   Date  Brown   0.6      282

Apakah itu menarik? Kita telah menggabungkan informasi dari dua sumber yang berbeda ke dalam satu data frame komprehensif!

Melting dan Casting

Sekarang, mari kita masuk ke beberapa teknik perombakan yang lebih tingkat tinggi. Kita akan menggunakan paket reshape2, jadi pastikan Anda menginstal dan memuatnya:

install.packages("reshape2")
library(reshape2)

Melting Data

Perombakan data seperti melencirkan blok es - semua menjadi cair dan dapat dirombak. Mari kita larutkan data fruit_info kita:

melted_fruits <- melt(fruit_info, id.vars = "name")
print(melted_fruits)

Ini memberikan kita:

name variable  value
1   Apple    color    Red
2  Banana    color Yellow
3  Cherry    color    Red
4    Date    color  Brown
5   Apple    price   0.50
6  Banana    price   0.30
7  Cherry    price   0.70
8    Date    price   0.60
9   Apple calories  52.00
10 Banana calories  89.00
11 Cherry calories  50.00
12   Date calories 282.00

Lihat bagaimana setiap atribut (warna, harga, kalori) menjadi baris terpisah? Ini sangat berguna untuk jenis analisis dan visualisasi tertentu.

Casting Data

Sekarang kita telah melarutkan data kita, kita dapat memformalkan lagi ke dalam bentuk baru. Mari kita katakan kita ingin memiliki buah-buahan sebagai kolom dan atribut sebagai baris:

casted_fruits <- dcast(melted_fruits, variable ~ name)
print(casted_fruits)

Ini memberikan kita:

variable Apple Banana Cherry  Date
1    color   Red Yellow    Red Brown
2    price  0.50   0.30   0.70  0.60
3 calories 52.00  89.00  50.00 282.00

Impresif, kan? Kita telah mengubah struktur data kita sepenuhnya!

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia perombakan data di R. Ingat, seperti membangun dengan Lego, kunci adalah untuk mencoba dan menemukan struktur yang terbaik untuk kebutuhan Anda. Jangan takut untuk bermain dengan fungsi-fungsi ini - itu adalah cara Anda akan benar-benar belajar!

Berikut ini adalah tabel referensi cepat dari metode yang kita pelajari:

Metode Fungsi Tujuan
Menambah Kolom $ atau cbind() Menambahkan variabel baru ke data frame
Menambah Baris rbind() Menambahkan observasi baru ke data frame
Menggabungkan merge() Menggabungkan data dari data frames yang berbeda
Melting melt() Mengubah data lebar menjadi format panjang
Casting dcast() Mengubah data panjang menjadi format lebar

Tetap berlatih, dan segera Anda akan dapat merombak data seperti seorang master pemahat! Selamat coding!

Credits: Image by storyset