Dalam analisis data, visualisasi bivariat merupakan tahap eksplorasi penting untuk memahami hubungan antara dua variabel serta pola keterkaitan yang terbentuk di dalam data. Melalui visualisasi bivariat, peneliti dapat mengidentifikasi hubungan fungsional, kecenderungan (trend), asosiasi, serta pola sebaran antar variabel, baik yang bersifat numerik–numerik, numerik–kategorik, maupun kategorik–kategorik. Visualisasi ini juga membantu dalam mendeteksi adanya korelasi, pola klaster, heterogenitas data, serta potensi outlier yang muncul akibat interaksi antar variabel. Dataset diamonds merupakan dataset bawaan dari ggplot2 yang sangat representatif untuk analisis bivariat karena memiliki jumlah observasi yang besar serta kombinasi variabel numerik (seperti carat, price, depth, table) dan variabel kategorik (seperti cut, color, dan clarity). Oleh karena itu, visualisasi bivariat pada data diamonds menjadi sarana yang efektif untuk mengeksplorasi hubungan antar karakteristik berlian, memahami faktor-faktor yang memengaruhi harga, serta membangun dasar analisis statistik dan pemodelan yang lebih lanjut secara sistematis dan terstruktur.
Import data diamonds dari file CSV ke dalam R menggunakan fungsi
read.csv(). Pastikan untuk menyesuaikan path file dengan
lokasi penyimpanan dataset diamonds.csv di komputer. Berikut kode yang
digunakan untuk memuat data diamonds ke dalam R:
library(ggplot2)
colnames(diamonds)
## [1] "carat" "cut" "color" "clarity" "depth" "table" "price"
## [8] "x" "y" "z"
Berdasarkan hasil output yang diperoleh, dataset diamonds terdiri
dari 10 variabel yang mencakup kombinasi antara variabel numerik dan
kategorik. Variabel numerik dalam dataset ini meliputi
carat, depth, table,
price, x, y, dan z,
yang merepresentasikan karakteristik fisik berlian, seperti berat,
proporsi, dimensi, serta nilai harga. Variabel-variabel numerik tersebut
menjadi komponen utama dalam analisis kuantitatif untuk memahami
hubungan antar karakteristik berlian dan pengaruhnya terhadap harga.
Selain itu, dataset ini juga memiliki variabel kategorik, yaitu
cut, color, dan clarity, yang
menggambarkan kualitas potongan, tingkat warna, serta tingkat kejernihan
berlian. Keberadaan variabel kategorik ini memungkinkan analisis
perbandingan antar kelompok kualitas berlian serta mendukung visualisasi
dan analisis bivariat yang lebih komprehensif dan interpretatif.
| No | Variabel | Jenis | Keterangan |
|---|---|---|---|
| 1 | carat | Numerik | berat berlian dalam satuan carat |
| 2 | depth | Numerik | persentase kedalaman berlian |
| 3 | table | Numerik | lebar meja (table) berlian dalam persentase |
| 4 | price | Numerik | harga berlian (USD) |
| 5 | x | Numerik | panjang berlian (mm) |
| 6 | y | Numerik | lebar berlian (mm) |
| 7 | z | Numerik | tinggi/kedalaman berlian (mm) |
| 8 | cut | Kategorik | kualitas potongan berlian (Fair, Good, Very Good, Premium, Ideal) |
| 9 | color | Kategorik | tingkat warna berlian dari D (terbaik) hingga J (terendah) |
| 10 | clarity | Kategorik | tingkat kejernihan berlian berdasarkan jumlah dan posisi inklusi |
Setelah pola distribusi setiap variabel tunggal pada dataset diamonds dipahami melalui visualisasi univariat, analisis selanjutnya dikembangkan ke tahap visualisasi bivariat. Visualisasi ini bertujuan untuk mengkaji hubungan antara dua variabel, seperti keterkaitan antara harga berlian (price) dengan karakteristik lainnya, misalnya berat berlian (carat), kualitas potongan (cut), warna (color), dan tingkat kejernihan (clarity).
Melalui visualisasi bivariat, analisis tidak hanya menampilkan sebaran data, tetapi juga membantu memahami pola hubungan antarvariabel yang memengaruhi nilai berlian. Dengan demikian, visualisasi univariat memberikan gambaran dasar karakteristik data, sedangkan visualisasi bivariat berfungsi untuk mengeksplorasi hubungan antarvariabel secara lebih jelas dan sederhana. Berikut disajikan beberapa bentuk visualisasi bivariat untuk menganalisis hubungan antarvariabel dalam dataset diamonds.
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 contoh kode untuk membuat scatter plot antara ‘cnt’ dan ‘temp’ :
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(color = "turquoise3", alpha = 0.5) +
labs(
title = "Scatter Plot Carat vs Depth Berlian",
x = "Carat Berlian",
y = "Price (Harga)"
) +
theme_minimal()
Scatter plot tersebut menunjukkan adanya hubungan positif antara berat berlian (carat) dan harga (price), di mana semakin besar nilai carat, cenderung semakin tinggi pula harga berlian. Pola sebaran titik membentuk tren menaik yang cukup jelas, meskipun terdapat variasi dan penyebaran data pada setiap tingkat carat. Hal ini menunjukkan bahwa meskipun carat berpengaruh kuat terhadap harga, faktor lain seperti kualitas potongan (cut), warna (color), dan kejernihan (clarity) juga turut memengaruhi variasi harga berlian.
Boxplot adalah grafik yang digunakan untuk menampilkan ringkasan distribusi data secara visual melalui lima ukuran utama, yaitu nilai minimum, kuartil bawah (Q1), median, kuartil atas (Q3), dan nilai maksimum. Boxplot membantu melihat sebaran data, posisi median, tingkat variasi, serta mendeteksi adanya outlier secara cepat dan sederhana.
ggplot(diamonds, aes(x = cut, y = carat))+
geom_boxplot(fill = "turquoise3") +
labs(
title = "Box Plot Carat Berlian Berdasarkan Potongan",
x = "Potongan Berlian",
y = "Carat Berlian"
)+
theme_minimal()
Boxplot tersebut menunjukkan perbedaan distribusi berat berlian (carat) berdasarkan kategori potongan (cut). Terlihat bahwa kategori Premium dan Fair cenderung memiliki median carat yang lebih tinggi dibandingkan kategori lainnya, sementara kategori Ideal dan Very Good umumnya memiliki median carat yang lebih rendah. Sebaran data pada setiap kategori juga bervariasi, dengan adanya outlier pada semua jenis potongan, yang menunjukkan keberadaan berlian berukuran besar pada setiap kategori cut. Hal ini mengindikasikan bahwa berat berlian tidak hanya dipengaruhi oleh kualitas potongan, tetapi juga memiliki variasi yang cukup besar di dalam setiap kategori potongan itu sendiri.
Stacked bar chart adalah grafik batang yang digunakan untuk menampilkan komposisi suatu total berdasarkan beberapa kategori dalam satu batang. Setiap batang menunjukkan total nilai, sedangkan bagian-bagian di dalam batang memperlihatkan kontribusi masing-masing kategori, sehingga memudahkan untuk membandingkan proporsi dan komposisi antar kelompok secara visual.
ggplot(diamonds, aes(x = cut, fill = clarity)) +
geom_bar(position = "stack", color = "turquoise3") +
scale_fill_brewer(palette = "BuGn") + # gradasi toska
labs(
title = "Stacked Bar Chart Cut Berdasarkan Clarity",
x = "Kualitas Potongan (Cut)",
y = "Jumlah Berlian",
fill = "Clarity"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
axis.title = element_text(face = "bold")
)
Stacked bar chart tersebut menunjukkan komposisi tingkat kejernihan (clarity) pada setiap kategori kualitas potongan berlian (cut). Terlihat bahwa kategori Ideal memiliki jumlah berlian terbanyak dengan distribusi kejernihan yang paling beragam, diikuti oleh Premium dan Very Good, sedangkan kategori Fair memiliki jumlah yang paling sedikit. Pada semua kategori potongan, berlian dengan tingkat kejernihan menengah seperti VS2, VS1, dan SI1 cenderung mendominasi, sementara tingkat kejernihan sangat tinggi seperti IF dan VVS1/VVS2 jumlahnya relatif lebih sedikit. Pola ini menunjukkan bahwa kombinasi antara kualitas potongan dan tingkat kejernihan berlian tidak terdistribusi secara merata, melainkan terkonsentrasi pada kualitas menengah hingga tinggi, khususnya pada kategori Ideal dan Premium.
Visualisasi bivariat antara harga berlian (price) dengan variabel lain seperti berat berlian (carat), kualitas potongan (cut), dan tingkat kejernihan (clarity) menunjukkan bahwa:
Carat memiliki hubungan positif dengan harga berlian, di mana semakin besar ukuran berlian, cenderung semakin tinggi harga berlian, sementara ukuran berlian yang lebih kecil umumnya memiliki harga yang lebih rendah.
Kualitas potongan (cut) berkaitan dengan distribusi ukuran berlian (carat), di mana setiap kategori cut memiliki variasi ukuran yang beragam, sehingga kualitas potongan tidak secara langsung menentukan besar kecilnya ukuran berlian.
Kombinasi kualitas potongan (cut) dan tingkat kejernihan (clarity) menunjukkan pola komposisi tertentu, di mana kategori Ideal dan Premium cenderung didominasi oleh tingkat kejernihan menengah hingga tinggi, sedangkan tingkat kejernihan sangat tinggi jumlahnya relatif lebih sedikit.
Dengan demikian, karakteristik fisik dan kualitas berlian, seperti ukuran (carat), kualitas potongan (cut), serta tingkat kejernihan (clarity), memiliki pengaruh yang jelas terhadap nilai dan distribusi berlian dalam dataset ini. Informasi ini dapat digunakan sebagai dasar untuk analisis yang lebih lanjut dalam penilaian kualitas, penentuan harga, serta pengambilan keputusan yang lebih tepat dalam konteks industri dan studi karakteristik berlian.