Memanggil Dataset Diamonds

suppressPackageStartupMessages({
  suppressWarnings({
  library(ggplot2)
  library(dplyr)
  data("diamonds")
  View(diamonds)
  })
})

Penjelasan Dataset Diamonds

Dataset diamonds merupakan salah satu dataset yang sudah tersedia di R dalam package ggplot2. Dataset ini menyimpan informasi mengenai ribuan berlian yang digunakan sebagai bahan latihan untuk menganalisis data, mengeksplorasi statistik, dan membuat visualisasi.

Di dalam dataset diamonds terdapat sekitar 53 ribu baris data dan beberapa kolom penting yang menjelaskan karakteristik berlian. Variabel yang paling penting adalah carat (berat berlian), price (harga berlian), serta tiga aspek kualitas yang sering dijadikan acuan untuk menentukan kualitas berlian, yaitu cut (kualitas potongan), color (tingkat warna berlian), dan clarity (tingkat kejernihan berlian). Selain itu, ada juga variabel ukuran fisik berlian seperti panjang, lebar, dan kedalaman (x, y, z), serta persentase kedalaman dan table.

Dataset ini sangat membantu karena memungkinkan kita untuk menganalisis bagaimana kualitas berlian mempengaruhi harganya. Tujuannya dalam dataset diamonds ini adalah mengetahui sebaran jumlah berlian berdasarkan tingkat warnanya dengan memvisualisasikannya menggunakan bar chart, mengetahui distribusi warna berdasarkan tingkat kejernihannya dengan memvisualisasikannya menggunakan grouped chart, mengetahui proporsi cut berdasarkan warna berliannya dengan memvisualisasikannya menggunakan stacked chart, dan ingin mengetahui rata-rata harga berlian berdasarkan kategori potongannya.

Visualisasi 1 : Bar Chart

diamonds$color <- factor(
  diamonds$color,
  levels = c("J", "I", "H", "G", "F", "E", "D"),
  ordered = TRUE
)

color_freq <- diamonds %>%
  count(color)
color_freq
ggplot(color_freq, aes(x = color, y = n)) +
  geom_col(fill = "skyblue", width = 0.65) +

  # Outline khusus untuk D (penanda kualitas terbaik)
  geom_col(
    data = subset(color_freq, color == "D"),
    fill = "skyblue",
    color = "black",
    linewidth = 1.2,   # <- diganti dari size ke linewidth
    width = 0.65
  ) +

  geom_text(aes(label = n), vjust = -0.5, size = 3.5) +

  scale_y_continuous(expand = expansion(mult = c(0, 0.15))) +

  labs(
    title = "Sebaran Jumlah Berlian Berdasarkan Tingkat Kualitas Warna",
    x = "Tingkat Warna Berlian",
    y = "Jumlah Berlian",
    caption = "Sumber: Dataset diamonds"
  ) +

  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    axis.text.x = element_text(face = "bold")
  )

Berdasarkan diagram batang yang ditampilkan, grafik ini menunjukkan hubungan antara kualitas warna berlian dan jumlah berlian. Sumbu vertikal menunjukkan berapa banyak berlian, sedangkan sumbu horizontal menunjukkan tingkat kualitas warna, yang dinilai dengan huruf dari D (yang terbaik) sampai J (yang terburuk). Dalam standar penilaian berlian, huruf D menunjukkan warna yang paling jernih dan tidak berwarna (bening sempurna), sedangkan semakin mendekati huruf J, warnanya akan terlihat semakin kekuningan. Jika diperhatikan, jumlah berlian yang ada tidak sama rata di setiap tingkat warna. Warna G menjadi kategori yang paling banyak diminati, dengan jumlah berlian mencapai 11.292 biji. Diikuti oleh warna E (9.797 berlian) dan F (9.542 berlian), yang juga memiliki jumlah yang sangat besar. Ini menunjukkan bahwa di dalam dataset ini, berlian dengan warna menengah hingga bagus (F-D) lebih banyak ditemukan dibandingkan berlian dengan warna yang kurang baik, seperti J dan I. Sementara itu, kategori J yang merupakan tingkat terendah hanya memiliki 2.808 berlian, sehingga menjadi kategori yang paling langka dalam data tersebut. Lalu, kualitas warna berlian D ditandai bold sebagai tingkat warna tertinggi, artinya berlian dengan warna D memiliki warna yang paling sempurna, jernih, dan sangat langka di pasar. Meskipun jumlahnya tidak terlihat terlalu banyak dalam grafik namun D inilah kualitas yang terbaik.

Visualisasi 2 : Grouped Bar Chart

color_clarity_freq <- diamonds %>%
  count(color, clarity)
color_clarity_freq
ggplot(color_clarity_freq, aes(x = clarity, y = n, fill = color)) +
  
  geom_col(
    width = 0.9,
    position = position_dodge2(width = 1, )
  ) +
  
scale_fill_manual(
  values = c(
    "D" = "#3E7CB1",  
    "E" = "#F4A259",  
    "F" = "#5AA469",  
    "G" = "#D96459",  
    "H" = "#9B6FB8", 
    "I" = "#6CAED6",  
    "J" = "#E9C46A"   
  )
)+

  labs(
    title = "Distribusi Warna Berlian pada Setiap Tingkat Kejernihan",
    x = "Tingkat Kejernihan",
    y = "Frekuensi",
    fill = "Tingkat Warna",
    caption = "Sumber: Dataset diamonds"
  ) +
  
  theme_minimal() + 
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
    axis.text.x = element_text(angle = 30, hjust = 1),
    legend.position = "right"
  )

Grafik berbentuk diagram batang kelompok ini menunjukkan bagaimana banyaknya berlian (frekuensi) terdistribusi berdasarkan tingkat kejernihan (clarity) dan tingkat warna (color). Pada sumbu X terdapat kategori kejernihan mulai dari yang terendah hingga tertinggi, yaitu I1, SI2, SI1, VS2, VS1, VVS2, VVS1, hingga IF. Setiap kategori kejernihan memiliki beberapa batang berwarna yang menunjukkan tingkat warna berlian, mulai dari J sampai D. Secara umum, pola yang paling terlihat adalah frekuensi berlian dengan kualitas terbaik terpusat pada tingkat kejernihan SI1 dan VS2, karena hampir semua warna menunjukkan tinggi frekuensi pada dua kategori tersebut. Artinya, dalam dataset diamonds, berlian yang memiliki kejernihan menengah lebih banyak ditemukan dibandingkan berlian dengan kejernihan sangat rendah seperti I1 atau berlian dengan kejernihan sangat tinggi seperti VVS dan IF.

Selain itu, jika dilihat dari warna, berlian dengan warna E, F, G, dan H terlihat lebih banyak dibandingkan warna ekstrem seperti J atau D. Pada kejernihan SI1 misalnya, warna-warna menengah memiliki frekuensi yang tertinggi, menunjukkan bahwa kombinasi kejernihan menengah dan warna menengah adalah kombinasi yang paling sering muncul. Pada kejernihan VS2, pola yang sama juga muncul, bahkan warna E tampaknya menjadi salah satu yang paling terang di antara semua kelompok. Sementara itu, ketika bergerak ke tingkat kejernihan yang lebih tinggi seperti VS1, VVS2, VVS1, hingga IF, frekuensi berlian menurun dengan cukup tajam. Ini menunjukkan bahwa berlian yang sangat jernih jumlahnya lebih sedikit (lebih langka), meskipun kualitasnya lebih baik, namun jumlahnya dalam dataset tidak sebanyak berlian kelas menengah. Secara umum, grafik ini menunjukkan bahwa dataset diamonds terdiri dari berlian yang paling sering ditemukan di pasar, yaitu berlian dengan tingkat kejernihan SI/VS dan warna E hingga H, sedangkan berlian dengan kualitas sangat premium hanya sedikit jumlahnya.

Visualisasi 3 : Proportional Bar Chart

ggplot(diamonds, aes(x = color, fill = cut)) +
  geom_bar(position = "fill") +
  
 scale_fill_manual(
  values = c(
    "Fair" = "#4C5B73",      
    "Good" = "#3B7A9E",      
    "Very Good" = "#5B8AC6", 
    "Premium" = "#5AAE61",  
    "Ideal" = "#8ECF8E"      
  )
)+
  scale_y_continuous(
    limits = c(0,1),
    breaks = seq(0,1,0.2),
    labels = scales::percent_format(accuracy = 1)
  ) +
  
  labs(
    title = "Distribusi Proporsi Kualitas Cut Berdasarkan Warna Berlian",
    x = "Tingkat Warna Berlian",
    y = "Proporsi",
    fill = "Kualitas Cut",
    caption = "Sumber: Dataset diamonds"
  ) +
  
  theme_minimal() + 
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
    axis.text.x = element_text(angle = 30, hjust = 1),
    legend.position = "right"
  )

Grafik ini menunjukkan proporsi atau persentase dari kualitas pemotongan pada setiap tingkat warna berlian. Sumbu X menunjukkan tingkat keberwarnaan berlian dari J (yang paling rendah) sampai D (yang paling tinggi). Sumbu Y menunjukkan proporsi (0% sampai 100%). Warna di dalam batang menunjukkan tingkat kualitas batu berlian, yaitu: Ideal, Premium, Very Good, Good, dan Fair.

Secara umum, hampir semua tingkat warna berlian dari J hingga D didominasi oleh cut Ideal dan Premium. Bagian hijau muda (Ideal) adalah bagian terbesar di hampir semua bar, yang berarti pada setiap tingkat warna, sebagian besar berlian memiliki cut Ideal. Setelah itu, biasanya diikuti oleh bagian berwarna hijau yang disebut Premium dan bagian biru yang disebut Very Good. Sementara itu, kategori Good dan Fair terlihat lebih sempit, yang artinya hanya sedikit berlian yang memiliki kualitas cut Good dan Fair. Ini menunjukkan bahwa di dalam dataset diamonds, kualitas potongan berlian lebih sering terletak pada tingkat menengah-atas (Ideal/Premium) dibandingkan tingkat rendah (Fair).

Yang menarik, proporsi cut ideal terlihat sedikit berbeda tergantung warnanya. Pada warna J (kualitas warna yang paling rendah), bagian ideal terlihat sedikit lebih kecil dibandingkan dengan warna yang lebih baik seperti D atau E. Sebaliknya, pada warna D (kualitas warna terbaik), proporsi ideal terlihat lebih besar dan mendominasi hampir setengah bagian bar tersebut. Artinya, semakin bagus kualitas warna berlian ( mendekati D ), maka semakin banyak pula berlian yang memiliki cut Ideal. Namun, perbedaannya tidak terlalu besar, karena bahkan pada warna menengah seperti H,G,F, mutu Ideal dan Premium tetap menjadi yang paling banyak ditemukan.

Selain itu, kategori Fair (yang paling terang dan paling gelap) selalu merupakan bagian terkecil dalam setiap warna, artinya berlian dengan kualitas Fair jumlahnya sedikit dan tidak banyak mengisi warna tertentu. Ini menunjukkan bahwa cut Fair jarang ditemukan di berbagai tingkat warna. Secara lain, kualitas cut yang rendah bukanlah sifat yang melekat pada warna tertentu, tetapi memang jumlahnya secara keseluruhan terbatas dalam dataset. Jadi kesimpulannya grafik ini menunjukkan bahwa untuk semua variasi warna berlian, jenis cut yang paling banyak adalah Ideal dan Premium. Selain itu, pada berlian dengan warna yang lebih baik, seperti D dan E, proporsi cut Ideal terlihat sedikit lebih besar dibandingkan pada berlian dengan warna yang lebih rendah, seperti J.