aping data Resaping: Panduan untuk Pemula

R - Data Reshaping

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