Data diskrit adalah data numerik yang merepresentasikan hasil penghitungan (count), di mana nilai-nilainya bersifat terpisah (discrete) dan tidak kontinu. Dalam konteks visualisasi data, data diskrit umumnya divisualisasikan berdasarkan frekuensi kemunculan setiap nilai. Sedangkan, Data kategorik adalah data yang merepresentasikan kategori atau kelas, bukan besaran numerik.Nilai pada data kategorik berfungsi sebagai label pengelompokan, dan tidak memiliki makna aritmetika.Dalam visualisasi data, data kategorik digunakan untuk membandingkan proporsi atau jumlah antar kategori.

Dataset Diamonds

library(ggplot2)
data(diamonds)
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

Dalam dataset diamond terdapat 10 variabel (kolom), yaitu:

  1. Carat (kontinu/numerik) = Berat belian dalam satuan karat.
  2. Cut (kategori ordinal) = kualitas potongan berlian yang memiliki urutan tertentu.
  3. Color (kategori ordinal) = warna berlian yang memiliki urutan tertentu.
  4. Clarity (kategori ordinal) = tingkat kejernihan berlian yang memiliki urutan tertentu.
  5. Depth (kontinu) = persentase kedalaman berlian.
  6. Table (kontinu) = lebar bagian atas berlian (dalam persen).
  7. Price (kontinu / Diskrit karena integer) = Harga berlian dalam dolar AS.
  8. X = panjang berlian (mm)
  9. Y = lebar berlian (mm)
  10. Z = tinggi berlian (mm)

Melihat struktur data

str(diamonds)
## tibble [53,940 × 10] (S3: tbl_df/tbl/data.frame)
##  $ carat  : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

Berdasarkan struktur data tersebut, terdapat 53.940 berlian yang diamati (baris) dengan 10 karakteristik (kolom). Terdapat tipe data:

  1. num = bertipe numerik.
  2. ord.factor = faktor berurutan (ordinal) dan bertipe kategorik.
  3. integer = numerik (bilangan bulat) namun secara statistik tetap kuantitatif kontinu.

Visualisasi Variabel Diskrit/Kategori

Visualisasi data diskrit atau kategori merupakan penyajian data yang bertujuan untuk menggambarkan distribusi frekuensi atau proporsi dari setiap kategori dalam suatu variabel. Karena data diskrit diperoleh dari hasil menghitung dan data kategori berupa pengelompokan atau label tertentu, maka fokus visualisasinya bukan pada nilai rata-rata atau penyebaran seperti pada data kontinu, melainkan pada jumlah kemunculan masing-masing kategori.Dengan demikian, visualisasi data diskrit atau kategori membantu mempermudah interpretasi dan pemahaman terhadap struktur data secara keseluruhan.

1. Bar Chart

Bar chart adalah grafik yang merepresentasikan kategori pada satu sumbu dan ukuran numerik pada sumbu lainnya. Bar chart biasanya digunakan untuk membandingkan kategori, menampilkan frekuensi atau jumlah, dan menampilkan proporsi.

Berikut adalah kode untuk membuat bar chart frekuensi kualitas potongan (cut):

ggplot(diamonds, aes(x = cut)) +
  geom_bar(fill = "pink") +
  labs(title = "Barchart Frekuensi Kualitas potongan Berlian",
       x = "Kualitas Potongan Berlian",
       y = "Frekuensi")

Grafik frekuensi pada kategori cut menunjukkan jumlah berlian berdasarkan kualitas potongannya, yaitu Fair, Good, Very Good, Premium, dan Ideal.

Urutan kategori dari kualitas terendah ke tertinggi adalah:

Pada grafik tersebut terlihat bahwa kategori Ideal memiliki frekuensi tertinggi, yang berarti sebagian besar berlian dalam data memiliki kualitas potongan terbaik (ideal). Selanjutnya, kategori Premium dan Very Good juga memiliki jumlah yang cukup besar, meskipun masih lebih rendah dibandingkan Ideal. Sementara itu, kategori Good memiliki jumlah sedang, dan kategori Fair merupakan yang paling sedikit. Hal ini menunjukkan bahwa data didominasi oleh berlian dengan kualitas potongan berlian yang ideal, sehingga dapat disimpulkan bahwa sebagian besar berlian dalam dataset memiliki kualitas potongan yang baik hingga sangat baik.

2. Grouped Bar Chart

Grouped bar chart adalah diagram batang yang digunakan untuk membandingkan beberapa kelompok data dalam satu kategori dengan cara menampilkan batang-batang yang dikelompokkan berdampingan. Grouped bar chart berfungsi untuk membandingkan antar subkategori dalam satu kategori, membandingkan antar kategori utama, dan melihat perbedaan pola antar kelompok.

Berikut adalah kode untuk membuat grouped bar chart dari Kualitas Potongan Berlian dan Tingkat Kejernihan Berlian:

ggplot(diamonds, aes(x = cut, fill = clarity)) +
  geom_bar(position = "dodge") +
  labs(
    title = "Grouped Bar Chart dari Kualitas Potongan Berlian dan Tingkat Kejernihan Berlian",
    x = "Kualitas Potongan Berlian",
    y = "Frekuensi",
    fill = "kejernihan Berlian"
  ) +
  theme_minimal()

Grafik tersebut menampilkan hubungan antara kualitas potongan (cut) dan tingkat kejernihan (clarity), dengan sumbu Y menunjukkan frekuensi (jumlah data) pada tiap kombinasi kategori.

Secara umum, grafik memperlihatkan bahwa semakin baik kualitas potongan berlian (misalnya kategori Ideal dan Premium), semakin besar pula jumlah berlian yang tercatat di hampir semua tingkat kejernihan. Kategori potongan tertinggi tampak memiliki frekuensi paling besar dibanding kategori potongan yang lebih rendah seperti Fair atau Good. Hal ini menunjukkan bahwa dalam dataset tersebut, berlian dengan kualitas potongan tinggi lebih banyak tersedia atau lebih sering diproduksi/dicatat.

Urutan kategori kualitas potongan berlian dari kualitas terendah ke tertinggi adalah:

Dilihat dari sisi kejernihan, tingkat kejernihan SI1 dan VS2 cenderung memiliki frekuensi paling tinggi di hampir semua kategori potongan. Artinya, sebagian besar berlian dalam data berada pada tingkat kejernihan menengah. Sebaliknya, tingkat kejernihan paling tinggi dan paling rendah seperti IF (Internally Flawless) dan I1 (Included 1) memiliki jumlah paling sedikit di semua kategori potongan, dikarenakan berlian dengan tingkat kejernihan tersebut relatif langka ditemukan.

Urutan kategori tingkat kejernihan berlian dari kualitas terendah ke tertinggi adalah:

Selain itu, pola grafik menunjukkan bahwa distribusi tingkat kejernihan relatif konsisten pada tiap kategori potongan, dimana semakin tinggi kualitas potongan maka frekuensi untuk setiap tingkat kejernihan ikut meningkat. Namun, urutan dominasi kejernihan tetap mirip (SI1 dan VS2 paling banyak, IF dan I1 paling sedikit). Namun demikian, perbedaan utamanya tetap terletak pada jumlah total berlian di tiap kategori potongan, bukan perubahan pola kejernihannya.

3. Proportion Bar Chart

Proportion bar chart adalah grafik batang yang digunakan untuk menampilkan komposisi atau perbandingan dalam bentuk proporsi (persentase) dari setiap kategori terhadap total keseluruhan. Pada grafik ini, setiap batang memiliki tinggi yang sama, yaitu merepresentasikan 100% dari total data, kemudian batang tersebut dibagi menjadi beberapa bagian sesuai dengan besar proporsi masing-masing kategori. Dengan demikian, grafik ini tidak menampilkan nilai absolut (jumlah/nilai sebenarnya), melainkan menunjukkan bagian atau persentase tiap kategori dalam suatu kelompok. Proportion bar chart sangat berguna untuk melihat kategori mana yang paling dominan serta untuk membandingkan struktur atau komposisi data antar kelompok secara visual.

Berikut adalah kode untuk membuat proportion bar chart dari Kualitas Potongan Berlian dan Tingkat Kejernihan Berlian:

ggplot(diamonds, aes(x = cut, fill = clarity)) +
  geom_bar(position = "fill") +
  scale_y_continuous(labels = scales::percent) +
  labs(
    title = "Proportion Bar Chart dari Kualitas Potongan Berlian dan Tingkat Kejernihan Berlian",
    x = "Kualitas Potongan Berlian",
    y = "Proporsi",
    fill = "Kejernihan Berlian"
  ) +
  theme_minimal()

Grafik tersebut menunjukkan proporsi tingkat kejernihan (clarity) pada setiap kategori kualitas potongan (cut). Berbeda dengan grafik sebelumnya yang menampilkan jumlah (frekuensi), grafik ini memperlihatkan persentase komposisi kejernihan dalam tiap kategori potongan, sehingga setiap batang berjumlah 100%.

Secara umum, pada semua kategori potongan (Fair, Good, Very Good, Premium, dan Ideal), proporsi terbesar didominasi oleh tingkat kejernihan menengah, terutama SI1, SI2, dan VS2. Artinya, tanpa memandang kualitas potongan, sebagian besar berlian berada pada tingkat kejernihan menengah.

Urutan kategori tingkat kejernihan berlian dari kualitas terendah ke tertinggi adalah:

Urutan kategori kualitas potongan berlian dari kualitas terendah ke tertinggi adalah:

Pada kategori Fair, proporsi kejernihan yang lebih rendah (seperti I1 dan SI2) terlihat relatif lebih besar dibanding kategori potongan yang lebih baik. Ini menunjukkan bahwa pada potongan kualitas rendah, berlian dengan kejernihan rendah lebih banyak secara persentase/proporsi.

Seiring meningkatnya kualitas potongan ke Good, Very Good, dan Premium, proporsi kejernihan menengah (SI1 dan VS2) tetap dominan, tetapi distribusinya mulai lebih seimbang. Bagian kejernihan yang lebih tinggi (VVS1, VVS2, dan IF) mulai sedikit meningkat dibandingkan kategori Fair, meskipun masih dalam proporsi kecil.

Pada kategori Ideal, terlihat kecenderungan proporsi kejernihan yang lebih baik (VS1, VVS2, VVS1, dan IF) sedikit lebih besar dibanding kategori lain. Sementara itu, proporsi kejernihan rendah seperti I1 semakin kecil. Hal ini menunjukkan bahwa potongan terbaik cenderung memiliki distribusi tingkat kejernihan yang lebih baik secara persentase.

Kesimpulan

Visualisasi diskrit/kategori dari variabel kualitas potongan (cut) dan tingkat kejernihan (clarity) menunjukkan bahwa

  1. Secara keseluruhan, grafik ini menunjukkan bahwa sebagian besar berlian dalam dataset memiliki kualitas potongan yang baik hingga sangat baik.

  2. Secara keseluruhan, grafik ini menunjukkan bahwa Sebagian besar berlian memiliki potongan berkualitas tinggi (ideal) dan tingkat kejernihan yang menengah (seperti SI1 dan VS2). Semakin baik potongannya, jumlah berliannya semakin banyak. Sementara itu, berlian dengan kejernihan paling tinggi (IF) adalah yang paling sedikit jumlahnya.

  3. Secara keseluruhan, grafik ini menunjukkan bahwa di semua kualitas potongan, kejernihan menengah tetap mendominasi. Namun semakin tinggi kualitas potongan, proporsi kejernihan rendah semakin berkurang dan proporsi kejernihan tinggi sedikit meningkat. Ini menunjukkan adanya kecenderungan bahwa berlian dengan potongan lebih baik memiliki distribusi kejernihan yang relatif lebih baik pula, meskipun kejernihan menengah tetap yang mendominasi.