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.