Lewati ke konten utama

Tutorial Data Reshaping di R

Pelajari tentang data reshaping di R, berbagai fungsi seperti rbind(), cbind(), bersama Melt(), Dcast(), dan terakhir tentang fungsi transpose.
Diperbarui 28 Sep 2026  · 7 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Data Reshaping di R adalah mengatur baris dan kolom sesuai kebutuhan Anda untuk menggunakannya sesuai persyaratan Anda; umumnya data diambil dalam format data frame di R untuk melakukan pemrosesan data menggunakan fungsi seperti 'rbind()', 'cbind()', dan sebagainya.

Dalam proses ini, Anda mengubah bentuk atau mengatur ulang data ke dalam baris dan kolom. Reshaping adalah pengaturan ulang data dengan cara tertentu yang Anda perlukan agar data dapat diproses lebih lanjut.

Membuat Data Anda

Mari kita buat generator angka acak dan membuat kolom untuk digabungkan dalam data frame. Juga, sisipkan id untuk digunakan nanti. 'set.seed(123)' digunakan untuk menghasilkan angka acak sehingga sampel yang sama dapat direproduksi di semua mesin mana pun yang menggunakannya. Tiga variabel, colm1, colm2, colm3, dibuat. Dengan bantuan 'sample()', nilai dari 1 hingga 15 dihasilkan, dan nilai yang sama dapat berulang. Selain itu, data frame digunakan untuk menyimpan data dalam tabel, dan id juga ditambahkan, yang merupakan nomor unik.

set.seed(123)
N <- 15
colm1  <- sample(1:15, N, replace=TRUE)
colm2  <- sample(1:15, N, replace=TRUE)
colm3  <- sample(1:15, N, replace=TRUE)
df_Temp <- data.frame(colm1, colm2,colm3)
df_Temp$id<-seq(nrow(df_Temp))
df_Temp

Kode di atas memberikan keluaran berikut di mana ada tiga kolom bernama 'colm1', 'colm2', 'colm3' dan berisi id dari 1 hingga 15. Nilai pada kolom masing-masing diisi dari 1 hingga 15, di mana beberapa angka berulang, sedangkan beberapa angka mungkin tidak muncul.

 colm1   colm2   colm3  id
  15      11     14     1
  15      5      3      2
  3       3      4      3
  14      11     14     4
  3       9      1      5
  10      12     11     6
  2       9      7      7
  6       9      5      8
  11      13     12     9
  5       3      15     10
  4       8      10     11
  14      10     13     12
  6       7      7      13
  9       10     9      14
 10       9      9      15 

Fungsi cbind

Penggunaan: digunakan untuk menggabungkan vektor, matriks, dan data frame berdasarkan kolom.
Parameter: cbind(v1,v2): v1,v2 dapat berupa vektor, matriks, atau data frame

Mari lihat contoh pengikatan dalam praktik.

id dapat dipilih dengan 'df_Temp[,4]' sedangkan 'df_Temp[,2]' memilih 'colm2' dari df_Temp seperti di bawah ini yang bertindak sebagai parameter untuk 'cbind()' dan disimpan dalam variabel 'cbindexample'. Selanjutnya, nama kolom dapat diubah melalui 'colnames()' yang menerima variabel dengan masukan vektor c ke nilai baru, yaitu 'newid', 'new_colm2'.

cbindexample<-cbind(df_Temp[,4],df_Temp[,2])
colnames(cbindexample)<- c('newid','new_colm2')
cbindexample

Kode di atas memberikan keluaran berikut bahwa Anda dapat mengikat dua kolom id dan column2 menggunakan fungsi 'cbind' untuk membuat data frame baru. Selain itu, nama kolom telah diubah menjadi 'new_colm2' sedangkan 'id' diubah menjadi 'newid'.

newid   new_colm2
1         11
2         5
3         3
4         11
5         9
6         12
7         9
8         9
9         13
10         3
11         8
12         10
13         7
14         10
15         9

Fungsi rbind:

Penggunaan: rbind digunakan untuk menggabungkan vektor, matriks, atau data frame berdasarkan kolom.
Parameter: rbind(v1,v2): v1,v2 dapat berupa vektor, matriks, atau data frame.

Mari buat vektor baru bernama 'new_vector' dan gabungkan dengan 'cbindexample' yang memiliki 2 kolom menggunakan 'rbind' di mana keduanya digabungkan dan disimpan ke 'rbindexample'.

new_vector<- c(16,15)
rbindexample<- rbind(cbindexample,new_vector)
rbindexample

Kode di atas menghasilkan keluaran di bawah ini di mana baris baru ditambahkan dengan nilai 16 dan 15 masing-masing pada 'newid' dan 'new_colm2'.

newid    new_colm2
1        11
2        5
3        3
4        11
5        9
6        12
7        9
8        9
9        13
10       3
11       8
12       10
13       7
14       10
15       9
16       15

Fungsi Melt:

Penggunaan: Fungsi Melt digunakan untuk mengonversi sebuah objek ke keadaan molten, artinya mengambil banyak kolom data dan mengonversinya menjadi satu kolom data.
Parameter: melt(data,…,na.rm=FALSE/TRUE, value.name=”value” ),
Data: Masukan yang akan Anda lelehkan (melt).
...: Masukan yang diteruskan ke atau dari.
Na.rm: Digunakan untuk mengonversi nilai hilang eksplisit menjadi hilang implisit.
Value.name: untuk menyimpan nilai ke dalam variabel
Mari lihat kode yang Anda "melt" data menggunakan variabel id menjadi satu kolom dengan nama kolom dan nilai:

Mari impor pustaka bernama 'reshape2' menggunakan 'library()' dan gunakan melt untuk menggabungkan kolom 'dfTemp' bernama colm1, colm2, colm3 di satu tempat bernama 'variable' menurut variabel 'id'.

library(reshape2)
molted=melt(df_Temp,id.vars=c("id"))
molted
id    variable value
1    colm1    15
2    colm1     15
3    colm1     3
4    colm1     14
5    colm1     3
6    colm1     10
7    colm1     2
8    colm1     6
9    colm1     11
10    colm1     5
11    colm1     4
12    colm1     14
13    colm1     6
14    colm1     9
15    colm1     10
1    colm2     11
2    colm2     5
3    colm2     3
4    colm2     11
5    colm2     9
6    colm2     12
7    colm2     9
8    colm2     9
9    colm2     13
10    colm2     3
11    colm2     8
12    colm2     10
13    colm2     7
14    colm2     10
15    colm2     9
1    colm3     14
2    colm3     3
3    colm3     4
4    colm3     14
5    colm3     1
6    colm3     11
7    colm3     7
8    colm3     5
9    colm3     12
10    colm3     15
11    colm3     10
12    colm3     13
13    colm3     7
14    colm3     9
15    colm3     9

Keluaran di atas menunjukkan bahwa ketika Anda me-melt data colm1, colm2, colm3 menurut variabel id, data tersebut digabungkan menjadi satu kolom bernama 'variable' dan nilai kolomnya berada dalam 'value'.

Fungsi Dcast:

Penggunaan: ketika Anda memiliki dataset molten maka Anda dapat mengonversi dataset tersebut kembali ke format asli menggunakan fungsi ini.
Parameter: dcast(data,id_variable~value),
data: data molten yang perlu dikonversi ke bentuk asli.
Id_variable: satu atau beberapa kolom yang digunakan untuk me-melt data kolom lainnya menjadi satu kolom.
~: setelah tanda ini, kita menggunakan nilai atau kolom molten baru dari dataset molten.

Anda dapat melihat kode di bawah ini di mana 'reshape2' diimpor menggunakan 'library()' dan 'dcast()' mengambil parameter pertama sebagai data yang sebelumnya dijalankan fungsi 'molt()' dan tanda '~' dengan id tempat kolom molten baru dibentuk.

library(reshape2)
dcast(molted,id~variable)
id    colm1    colm2    colm3
1        15        11        14
2        15        5         3
3        3        3         4
4        14        11       14
5        3        9         1
6        10        12        11
7        2         9         7
8        6        9         5
9       11        13        12
10       5        3        15
11       4        8        10
12       14        10        13
13       6        7        7
14       9        10        9
15      10        9        9

Anda dapat melihat bahwa data setelah fungsi 'molt()' diubah kembali menjadi dataset asli. Ada tiga kolom dengan nilai masing-masing pada kolom tersebut dan id pada kolom terpisah.

Fungsi Transpose:

Penggunaan: Digunakan untuk mengubah baris menjadi kolom dan kolom menjadi baris.
Parameter: t(data), data adalah data frame yang perlu Anda berikan untuk mendapatkan transpose.

Mari ubah baris menjadi kolom dan sebaliknya dengan menggunakan fungsi transpose. Ini dapat dilakukan dengan mudah menggunakan 't(df_Temp)' seperti di bawah ini.

trans <- t(df_Temp)
trans

Kode di atas memberikan keluaran berikut:

colm1    15    15    3    14    3    10    2    6    11    5    4    14    6    9    10
colm2    11    5    3    11    9    12    9    9    13    3    8    10    7    10    9
colm3    14    3    4    14    1    11    7    5    12    15    10    13    7    9    9
id    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15

Anda dapat melihat bahwa data frame yang semula berbentuk 15 baris dan empat kolom diubah menjadi 15 kolom dan 3 baris dengan melakukan transpose data.

Selamat

Selamat, Anda telah mencapai akhir tutorial ini!

Dalam tutorial ini, Anda telah mempelajari berbagai fungsi R seperti 'rbind(), 'cbind()', bersama 'Melt()', 'Dcast()', dan terakhir tentang fungsi transpose.

Jika Anda ingin mempelajari lebih lanjut tentang R, ikuti kursus Introduction to R dari DataCamp dan lihat R Packages: A Beginner's Tutorial kami.

Referensi:
Fungsi Melt

Topik
R
Data Science

Kursus R

{count, plural, one {Kursus} other {Kursus}}

Pengantar R

{hours} jam
3.1M
Kuasai dasar analisis data di R, termasuk vectors, lists, dan data frames, lalu praktikkan R dengan data sets nyata.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya