Studi Kasus

Dataset yang dianalisis berasal dari paket ggplot2 yaitu dataset diamonds, yang berisi 54.000 data berlian. Dataset ini mencatat berbagai karakteristik berlian seperti berat karat (carat), harga (price), kualitas potongan (cut), serta dimensi fisik seperti panjang (x), lebar (y), dan kedalaman (depth).Pada tahap ini analis mulai mengajukan beberapa pertanyaan penting:

  1. Apakah terdapat hubungan antara berat karat dan harga berlian?
  2. Bagaimana pola hubungan antara panjang dan lebar berlian?
  3. Apakah terdapat perbedaan distribusi kedalaman (depth) berdasarkan kualitas potongan (cut)?

Untuk menjawab pertanyaan analisis dalam dataset diamonds, beberapa visualisasi bivariat digunakan untuk mengeksplorasi hubungan antar variabel karakteristik berlian. Scatter plot antara carat dan harga digunakan untuk melihat hubungan antara berat berlian dan besarnya harga. Kemudian, hexbin plot panjang (x) dibandingkan lebar (y) digunakan untuk memahami pola hubungan antara dimensi fisik berlian. Selanjutnya, boxplot kedalaman vs kategori cut digunakan untuk membandingkan bagaimana kedalaman berlian berbeda berdasarkan jenis kualitas potongan yang ada. Ketiga visualisasi tersebut secara bersama-sama memberikan pemahaman yang lebih lengkap tentang bagaimana berat berlian memengaruhi harganya, bagaimana dimensi fisik saling terkait, serta bagaimana kualitas potongan berhubungan dengan karakteristik kedalaman berlian.

suppressPackageStartupMessages({
  suppressWarnings({
    library(ggplot2)
    library(tidyr)
    library(DT)
    library(hexbin)
    library(viridis)
    library(dplyr)
    library(hexbin)})
})
data("diamonds")
View(diamonds)

Scatter Plot

Scatter plot adalah grafik yang menunjukkan hubungan antara dua variabel numerik. Setiap titik pada scatter plot mewakili satu pengamatan, dengan posisi titik ditentukan oleh nilai kedua variabel. Berikut adalah kode untuk membuat scatter plot antara carat dan price:

set.seed(123)

diamonds_sample <- diamonds %>%
  sample_n(100)

ggplot(diamonds_sample, aes(x = carat, y = price)) +
  geom_point(size = 3.5, alpha = 0.8, color = "steelblue") +
  labs(
  title = "Scatter Plot Harga dan Carat",
  x = "Carat",
  y = "Harga Berlian",
  caption = "Sumber: Dataset diamonds"
  )+
  theme_minimal(base_size = 15)

Grafik scatter plot tersebut menunjukkan bahwa semakin besar berat berlian (dalam carat), semakin tinggi harga berlian tersebut. Titik-titik di grafik membentuk pola yang naik dari bagian kiri bawah menuju bagian kanan atas. Jadi, semakin berat berlian itu, harga nya biasanya semakin mahal. Hal ini menunjukkan bahwa hubungan antara berat dan harga berlian berupa garis yang linear. Namun, terlihat bahwa untuk berat yang lebih besar, harga berlian lebih tidak stabil dan memiliki variasi yang lebih lebar. Ini menunjukkan bahwa selain ukuran berat, masih ada faktor lain yang memengaruhi harga berlian. Secara umum bisa disimpulkan bahwa berat berlian memengaruhi harga, di mana semakin besar beratnya, maka semakin tinggi pula harganya.

Hexbin Plot

Hexbin plot bivariate digunakan untuk memvisualisasikan hubungan antara dua variabel numerik dengan jumlah data yang sangat besar, di mana titik-titik data dikelompokkan ke dalam bentuk segi enam (hexagon).Berikut adalah kode untuk membuat hexbin plot antara panjang(x) dan lebar(y):

ggplot(diamonds, aes(x = x, y = y)) +
  geom_hex(bins = 30) +
  scale_fill_gradient(low = "white", high = "brown") +
  coord_cartesian(xlim = c(0, 10), ylim = c(0, 10)) +
  labs(
    title = "Hexbin Plot Panjang dan Lebar Berlian",
    x = "Panjang (x)",
    y = "Lebar (y)",
    fill = "Jumlah Data",
    caption = " Sumber: Dataset diamonds"
  ) +
  theme_minimal(base_size = 14)

Grafik hexbin ini menunjukkan hubungan antara ukuran panjang (x) dan lebar (y) berlian. Setiap bentuk segienam mewakili sekelompok data, dan tingkat kegelapan warnanya menunjukkan berapa banyak berlian yang ada pada kombinasi ukuran tersebut. Semakin gelap warnanya tersebut, semakin banyak berlian yang terletak dalam rentang panjang dan lebarnya.Dari grafik terlihat pola yang jelas membentuk garis miring ke atas, dari sudut kiri bawah menuju sudut kanan atas. Pola ini menunjukkan bahwa semakin panjang berlian tersebut, semakin lebar pula ukurannya. Artinya, ada hubungan yang kuat dan positif antara ukuran panjang dan lebar. Berlian yang lebih panjang biasanya memiliki lebar yang lebih besar, sedangkan berlian yang lebih kecil biasanya memiliki lebar yang lebih kecil juga. Selain itu, bagian yang paling gelap terdapat di area dengan ukuran sedang, yaitu panjang sekitar 5 hingga 7 mm dan lebar 4,5 hingga 6,5 mm. Ini menunjukkan bahwa kebanyakan berlian dalam dataset memiliki ukuran yang berada dalam rentang tersebut. Sementara itu, berlian dengan ukuran sangat kecil atau sangat besar jumlahnya lebih sedikit, hal ini terlihat dari warna yang lebih terang di bagian tepi grafik.

Boxplot Bivariat

Boxplot bivariate digunakan untuk membandingkan distribusi variabel numerik depth(kedalaman berlian) berdasarkan kategori dari variabel lain, seperti cut. Berikut adalah kode untuk membuat boxplot bivariat antara depth dan cut:

ggplot(diamonds, aes(x = cut, y = depth)) +
  geom_boxplot(fill = "pink") +
  labs(
    title = "Boxplot Depth Berdasarkan Kualitas Cut Berlian",
    x = "Kualitas Cut",
    y = "Depth",
    caption = "Sumber: Dataset diamonds"
  ) +
  theme_minimal()

Grafik boxplot ini menunjukkan perbandingan nilai depth (kedalaman berlian dalam persen) untuk setiap tingkat kualitas pemotongan, yaitu Fair, Good, Very Good, Premium, dan Ideal. Setiap kotak menunjukkan bagaimana data utama terdistribusi (50% data tengah atau IQR), garis di tengah kotak menunjukkan nilai tengah, sedangkan titik-titik di luar garis menunjukkan nilai yang sangat berbeda dari sebagian besar data.Secara umum, terlihat bahwa median depth untuk semua kategori berada dalam rentang sekitar 60–65%, sehingga secara keseluruhan nilai depth antar kategori tidak terlalu berbeda jauh. Namun, kategori Fair memiliki median yang sedikit lebih tinggi dibandingkan kategori lainnya. Selain itu, kotak di kategori Fair terlihat lebih lebar dan memiliki lebih banyak titik yang muncul di luar kotak, artinya variasi dalam kedalaman pada kategori ini lebih besar dan kurang seragam. Sebaliknya, kategori Premium dan Ideal menunjukkan kotak yang lebih sempit. Ini menunjukkan bahwa nilai depth di kategori tersebut lebih fokus dan lebih konsisten. Artinya, berlian yang memiliki kualitas pemotongan yang lebih baik biasanya memiliki tingkat kedalaman yang lebih merata.

Kesimpulan

Visualisasi bivariat antara carat dengan variabel lain yaitu price, panjang(x) dan lebar(y), serta depth dan cut menunjukkan bahwa:

  1. Berat karat mempunyai kaitan erat dengan harga berlian yaitu semakin besar ukuran berlian, semakin mahal harganya.

  2. Panjang dan lebar berlian memiliki hubungan searah yang jelas, menunjukkan bahwa ukuran fisik berlian biasanya seimbang dan tetap konsisten.

  3. Kualitas potongan tergantung pada variasi kedalaman yang mana potongan berkualitas lebih baik memiliki distribusi kedalaman yang lebih stabil dan seragam dibandingkan dengan potongan berkualitas rendah.

Secara umum, analisis ini menunjukkan bahwa sifat fisik dan kualitas berlian saling berkaitan dalam menentukan nilai dan struktur berlian, di mana berat menjadi faktor utama yang menentukan harga, dimensi fisik menunjukkan bentuk yang konsisten, dan kualitas pemotongan mencerminkan tingkat kestabilan dari karakteristik kedalaman.