Visualisasi data merupakan langkah awal dalam analisis untuk memahami karakteristik dan pola dari suatu dataset. Pada laporan ini digunakan dataset diamonds dari package ggplot2 untuk mengeksplorasi beberapa variabel penting yang berkaitan dengan karakteristik berlian. Analisis dilakukan melalui beberapa jenis visualisasi, yaitu histogram untuk melihat distribusi harga berlian, boxplot untuk membandingkan persentase table berdasarkan potongan (cut), violin plot untuk melihat distribusi harga berdasarkan warna (color), serta density plot untuk menggambarkan kepadatan distribusi carat. Melalui visualisasi ini diharapkan dapat diperoleh gambaran umum mengenai sebaran data serta hubungan antar variabel dalam dataset berlian.
library(ggplot2)
head(diamonds)
## # A tibble: 6 × 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
ggplot(diamonds, aes(x = price)) +
geom_histogram(bins = 50, fill = "darkgreen", color = "white") +
labs(
title = "Distribusi Harga Berlian",
x = "Harga (USD)",
y = "Jumlah Berlian"
) +
theme_minimal()
interpretasinya: Berdasarkan histogram yang ditampilkan, dapat terlihat bahwa distribusi harga berlian (price) bersifat tidak simetris dan cenderung skewness positif (miring ke kanan). Sebagian besar data terkonsentrasi pada harga yang relatif rendah, sedangkan frekuensi semakin menurun pada harga yang lebih tinggi. Hal ini menunjukkan bahwa jumlah berlian dengan harga mahal relatif lebih sedikit dibandingkan berlian dengan harga terjangkau. Selain itu, terdapat indikasi adanya nilai ekstrem pada bagian kanan distribusi.
ggplot(diamonds, aes(x = cut, y = table)) +
geom_boxplot(fill = "pink") +
labs(
title = "Box Plot Persentase Table Berdasarkan Potongan",
x = "Potongan Berlian",
y = "Table (%)"
) +
theme_minimal()
interpretasinya: Boxplot ini memperlihatkan perbandingan distribusi nilai table (%) pada setiap kategori potongan (cut). Secara umum, median antar kategori tidak menunjukkan perbedaan yang terlalu signifikan, sehingga dapat dikatakan bahwa persentase table relatif seragam pada berbagai jenis potongan. Namun, terlihat adanya beberapa outlier pada masing-masing kategori yang menunjukkan terdapat nilai table yang berada jauh dari rentang mayoritas data. Variasi antar kategori juga dapat diamati dari perbedaan panjang box (IQR), meskipun perbedaannya tidak terlalu mencolok.
ggplot(diamonds, aes(x = color, y = price)) +
geom_violin(fill = "steelblue") +
labs(
title = "Violin Plot Harga Berlian Berdasarkan Warna",
x = "Warna Berlian",
y = "Harga (USD)"
) +
theme_minimal()
interpretasinya: Violin plot menunjukkan distribusi harga pada setiap kategori warna (color) secara lebih rinci karena menampilkan bentuk kepadatan data. Dari grafik tersebut terlihat bahwa kepadatan harga lebih terkonsentrasi pada rentang harga tertentu untuk setiap warna. Beberapa kategori warna memiliki distribusi yang lebih lebar, yang menandakan variasi harga yang lebih besar. Grafik ini membantu melihat pola distribusi secara menyeluruh, tidak hanya median dan rentang, tetapi juga bentuk sebaran datanya.
ggplot(diamonds, aes(x = carat)) +
geom_density(fill = "pink2") +
labs(
title = "Density Plot Carat Berlian Berdasarkan Warna",
x = "Carat Berlian",
y = "Kepadatan"
) +
theme_minimal()
interpretasinya: Density plot untuk variabel carat menunjukkan bahwa distribusi ukuran berlian cenderung skewness positif. Sebagian besar berlian memiliki ukuran carat kecil, sedangkan berlian dengan ukuran besar jumlahnya relatif lebih sedikit. Kurva kepadatan yang tinggi di bagian kiri dan menurun ke kanan mengindikasikan bahwa data tidak berdistribusi normal. Hal ini menunjukkan bahwa pasar lebih didominasi oleh berlian berukuran kecil dibandingkan berlian berukuran besar.