aping data Resaping: Panduan untuk Pemula
Hai teman-teman, para programmer R masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia perubahan 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 merubah data seperti seorang profesional!
Apa Itu Perubahan Data?
Sebelum kita masuk ke detil, mari bicarakan apa arti perubahan data sebenarnya. Bayangkan Anda memiliki sekumpulan batu Lego. Perubahan data adalah seperti mengatur ulang batu-batu Lego itu untuk membentuk struktur yang berbeda. Di R, kita melakukan hal yang sama dengan data kita - mengatur ulangnya agar 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 dengan informasi tentang buah-buahan:
fruits <- data.frame(
name = c("Apple", "Banana", "Cherry"),
color = c("Red", "Yellow", "Red")
)
print(fruits)
Ini akan menampilkan:
name color
1 Apple Red
2 Banana Yellow
3 Cherry Red
Sekarang, mari kita katakan bahwa 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 bila kita ingin menambah buah baru ke daftar kita? Kita juga dapat 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 bahwa kita memiliki data frame lain dengan informasi nutrisi:
nutrition <- data.frame(
name = c("Apple", "Banana", "Cherry", "Date"),
calories = c(52, 89, 50, 282)
)
# Gabungkan kedua 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 berbeda ke dalam satu data frame komprehensif!
Melting dan Casting
Sekarang, mari kita masuk ke beberapa teknik perubahan data yang lebih tingkat lanjut. Kita akan menggunakan paket reshape2
, jadi pastikan Anda menginstal dan memuatnya:
install.packages("reshape2")
library(reshape2)
Melting Data
Melting data adalah seperti melencengkan blok es - semua menjadi cair dan dapat diubah bentuknya. Mari kita melt 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 melt data kita, kita dapat recastnya ke bentuk baru. Misalnya, 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 transformasi struktur data kita sepenuhnya!
Kesimpulan
Selamat! Anda telah mengambil langkah pertama ke dunia perubahan data di R. Ingat, seperti membangun dengan Lego, kunci adalah untuk mencoba dan menemukan struktur yang paling cocok untuk kebutuhan Anda. Jangan takut untuk bermain dengan fungsi-fungsi ini - itu adalah cara Anda akan benar-benar belajar!
Berikut adalah tabel rujukan cepat dari metode yang kita bahas:
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 berbeda |
Melting | melt() |
Mengubah data lebar ke format panjang |
Casting | dcast() |
Mengubah data panjang ke format lebar |
Teruslatih, dan segera Anda akan menjadi ahli dalam merubah data! Selamat coding!
Credits: Image by storyset