Operasi Merubah Format Data Dengan Library dplyr Dan tidyr

Dalam analisis data, seringkali kita perlu mengubah format data untuk memenuhi kebutuhan analisis atau visualisasi tertentu. Merubah format data dapat melibatkan perubahan dari wide ke long (melting) atau sebaliknya, atau melakukan transformasi pada struktur data yang ada.

Dalam bahasa pemrograman R, terdapat beberapa library yang menyediakan fungsi-fungsi yang memudahkan kita dalam melakukan operasi merubah format data. Dua library yang umum digunakan adalah dplyr dan tidyr. Kedua library ini menawarkan sejumlah fungsi yang kuat dan intuitif untuk melakukan manipulasi dan transformasi data.

Panggil dulu library dplyr dan tidyr :

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.2.3

Mengubah Format Data dari Wide ke Long dengan pivot_longer():

Dalam analisis data, terkadang kita perlu mengubah format data dari wide ke long agar lebih mudah diproses dan dianalisis. Library dplyr dan tidyr dalam R menyediakan fungsi pivot_longer() yang memungkinkan kita untuk merubah format data dari wide ke long dengan mudah.

# Data frame wide
data_wide <- data.frame(
  nama = c("John", "Jane", "Alice"),
  usia = c(25, 30, 28),
  nilai_matematika = c(80, 90, 85),
  nilai_bahasa = c(75, 85, 80),
  nilai_ipa = c(90, 95, 92)
)

# Merubah format dari wide ke long
data_long <- data_wide %>% pivot_longer(cols = starts_with("nilai"), 
                                        names_to = "mata_pelajaran",
                                        values_to = "nilai")

# Menampilkan data frame hasil
print(data_long)
## # A tibble: 9 × 4
##   nama   usia mata_pelajaran   nilai
##   <chr> <dbl> <chr>            <dbl>
## 1 John     25 nilai_matematika    80
## 2 John     25 nilai_bahasa        75
## 3 John     25 nilai_ipa           90
## 4 Jane     30 nilai_matematika    90
## 5 Jane     30 nilai_bahasa        85
## 6 Jane     30 nilai_ipa           95
## 7 Alice    28 nilai_matematika    85
## 8 Alice    28 nilai_bahasa        80
## 9 Alice    28 nilai_ipa           92

Pada contoh di atas, kita memiliki data frame data_wide yang berisi data dalam format wide. Data frame ini memiliki kolom nama, usia, nilai_matematika, nilai_bahasa, dan nilai_ipa. Kita menggunakan fungsi pivot_longer() dari library tidyr untuk merubah format data dari wide ke long.

Mengubah Format Data dari Long ke Wide dengan pivot_wider():

Dalam beberapa kasus, kita mungkin perlu mengubah format data dari long ke wide untuk analisis lebih lanjut atau presentasi yang lebih mudah. Di R, library dplyr dan tidyr menyediakan fungsi pivot_wider() yang memungkinkan kita untuk merubah format data dari long ke wide dengan mudah.

# Data frame long
data_long <- data.frame(
  nama = c("John", "John", "Jane", "Jane", "Alice", "Alice"),
  mata_pelajaran = c("matematika", "bahasa", "matematika", "bahasa", "matematika", "bahasa"),
  nilai = c(80, 75, 90, 85, 85, 80)
)

# Merubah format dari long ke wide
data_wide <- data_long %>% pivot_wider(names_from = mata_pelajaran,
                                       values_from = nilai)

# Menampilkan data frame hasil
print(data_wide)
## # A tibble: 3 × 3
##   nama  matematika bahasa
##   <chr>      <dbl>  <dbl>
## 1 John          80     75
## 2 Jane          90     85
## 3 Alice         85     80

Pada contoh di atas, kita memiliki data frame data_long yang berisi data dalam format long. Data frame ini memiliki kolom nama, mata_pelajaran, dan nilai. Kita menggunakan fungsi pivot_wider() dari library tidyr untuk merubah format data dari long ke wide.

Dalam kedua contoh tersebut, pastikan Anda telah mengimpor library dplyr dan tidyr sebelum menggunakan fungsi pivot_longer() dan pivot_wider(). Anda dapat menyesuaikan dan memodifikasi contoh kode tersebut sesuai dengan struktur data Anda dan kebutuhan analisis Anda.