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