Variabel kontinu adalah variabel kuantitatif (variabel numerik) yang nilainya diperoleh melalui proses pengukuran dan dapat mengambil setiap nilai dalam suatu rentang tertentu, termasuk nilai desimal atau pecahan. Variabel ini memiliki jumlah kemungkinan nilai yang tidak terbatas dalam intervalnya. Artinya, nilainya tidak terbatas pada bilangan bulat saja.

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.

Statistik deskriptif

summary(diamonds)
##      carat               cut        color        clarity          depth      
##  Min.   :0.2000   Fair     : 1610   D: 6775   SI1    :13065   Min.   :43.00  
##  1st Qu.:0.4000   Good     : 4906   E: 9797   VS2    :12258   1st Qu.:61.00  
##  Median :0.7000   Very Good:12082   F: 9542   SI2    : 9194   Median :61.80  
##  Mean   :0.7979   Premium  :13791   G:11292   VS1    : 8171   Mean   :61.75  
##  3rd Qu.:1.0400   Ideal    :21551   H: 8304   VVS2   : 5066   3rd Qu.:62.50  
##  Max.   :5.0100                     I: 5422   VVS1   : 3655   Max.   :79.00  
##                                     J: 2808   (Other): 2531                  
##      table           price             x                y         
##  Min.   :43.00   Min.   :  326   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.:56.00   1st Qu.:  950   1st Qu.: 4.710   1st Qu.: 4.720  
##  Median :57.00   Median : 2401   Median : 5.700   Median : 5.710  
##  Mean   :57.46   Mean   : 3933   Mean   : 5.731   Mean   : 5.735  
##  3rd Qu.:59.00   3rd Qu.: 5324   3rd Qu.: 6.540   3rd Qu.: 6.540  
##  Max.   :95.00   Max.   :18823   Max.   :10.740   Max.   :58.900  
##                                                                   
##        z         
##  Min.   : 0.000  
##  1st Qu.: 2.910  
##  Median : 3.530  
##  Mean   : 3.539  
##  3rd Qu.: 4.040  
##  Max.   :31.800  
## 

Secara keseluruhan, dataset diamond menunjukkan bahwa sebagian besar berlian memiliki ukuran kecil hingga sedang, harga relatif rendah hingga menengah, serta kualitas potongan dan kejernihan yang cukup baik. Hal ini terlihat dari nilai median carat (0,70) dan median price (2.401) yang nilainya lebih kecil dibandingkan dengan nilai rata-ratanya.Perbedaan antara mean dan median pada variabel carat dan price menunjukkan bahwa distribusi keduanya miring ke kanan (positively skewed), artinya hanya sedikit jumlah berlian yang berukuran besar dan berharga sangat tinggi namun dapat mempengaruhi nilai rata-rata data.

Variabel dimensi fisik (x, y, z), depth, dan table secara umum memiliki distribusi yang relatif simetris, karena nilai mean dan median hampir sama. Namun, terdapat indikasi adanya outlier, khususnya pada dimensi y dan z yang memiliki nilai maksimum sangat jauh dari kuartil atasnya (Q3).Kuartil atas (Q3) digunakan untuk menunjukkan batas 75% data terendah dalam suatu kumpulan data.Dimana, Q3 itu penanda nilai “atas normal” sebelum masuk kategori sangat tinggi.

Visualisasi Data kontinu (Bivariate)

Visualisasi data kontinu (bivariate) digunakan untuk melihat hubungan antara dua variabel numerik, misalnya harga berlian (price) dipengaruhi oleh faktor-faktor seperti berat berlian (carat),ataupun kualitas potongan (cut). Pendekatan ini memungkinkan analis tidak hanya memahami bagaimana data tersebar, tetapi juga mulai mengeksplorasi faktor-faktor yang berasosiasi dengan perubahan jumlah penyewaan sepeda.

Visualisasi bivariate membantu untuk melihat hubungan antarvariabel yang dapat menjelaskan pola kenaikan atau penurunan harga dari berlian. Berikut adalah beberapa jenis visualisasi data kontinu (bivariate) yang dapat digunakan untuk menganalisis hubungan antara harga berlian (price) dengan variabel lain seperti berat berlian (carat), kualitas potongan (cut), dan tingkat kejernihan (clarity):

1. 2D Density Plot

2D density plot adalah grafik yang digunakan untuk menampilkan kepadatan (density) data berdasarkan dua variabel sekaligus (sumbu X dan sumbu Y).Plot ini menunjukkan daerah mana yang paling banyak terdapat titik data. 2D density plot dibaca dengan :

Berikut adalah contoh kode untuk membuat 2D density plot antara price dan carat:

library(ggplot2)
library(scales)

ggplot(diamonds, aes(x = carat, y = price)) +
  geom_density_2d_filled(bins = 15) +
  theme_minimal() +

  scale_x_continuous(
    limits = c(0, 2.5),                 
    breaks = seq(0, 2.5, by = 0.2),     
    labels = label_number(accuracy = 0.1)
  ) +

  scale_y_continuous(
    breaks = seq(0, 20000, by = 2000),
    labels = label_comma()
  ) +

  labs(
    title = "2D Density Plot Harga Berlian berdasarkan Berat Berlian",
    x = "Berat Berlian (karat)",
    y = "Harga Berlian (USD)"
  )

Grafik tersebut menunjukkan hubungan antara berat berlian (karat) pada sumbu X dan harga berlian (USD) pada sumbu Y, dengan warna yang dapat mewakilkan tingkat kepadatan data.Warna yang semakin terang (kuning–hijau) menunjukkan area dengan konsentrasi data tertinggi, sedangkan warna gelap (ungu) menunjukkan kepadatan yang rendah.

berdasarkan grafik dapat dilihat bahwa kepadatan tertinggi berada pada rentang berat berlian sekitar 0,2 hingga 0,4 karat dengan harga sekitar 500 hingga 1.500 USD. Hal ini menunjukkan bahwa sebagian besar berlian dalam dataset memiliki berat kecil hingga menengah dan harga relatif rendah hingga menengah, sehingga pasar berlian dalam data ini didominasi oleh berlian berukuran kecil.

Pola sebaran warna membentuk arah diagonal dari kiri bawah ke kanan atas, yang menunjukkan adanya hubungan positif antara berat dan harga berlian. Artinya, semakin besar berat berlian, maka harga berlian cenderung meningkat. Namun, kepadatan warna semakin berkurang pada berat di atas 1 karat, yang berarti berdasarkan data jumlah observasi untuk berlian berukuran besar relatif sedikit dibandingkan berlian berukuran kecil.

Selain itu, terlihat bahwa pada berat yang sama (misalnya sekitar 0,5–1 karat), harga berlian dapat bervariasi cukup lebar (sekitar 1.500 hingga 5.000 USD). Ini mengindikasikan bahwa harga berlian tidak hanya dipengaruhi oleh berat, tetapi juga oleh faktor lain seperti kualitas potongan (cut), kejernihan (clarity), ataupun warna (color).

2. Hexbin Plot

Hexbin plot adalah grafik yang digunakan untuk menampilkan kepadatan (density) data dua dimensi (X dan Y) dengan cara membagi bidang grafik menjadi sel-sel berbentuk segi enam (hexagon). Setiap hexagon mewakili:

Berikut adalah contoh kode untuk membuat Hexbin plot antara price dan cut:

library(ggplot2)
library(hexbin)

ggplot(diamonds, aes(x = cut, y = price)) +
  geom_hex() +
  scale_y_continuous(
    breaks = seq(0, 20000, by = 1000),  
    limits = c(0, 20000)
  ) + scale_fill_gradient(low = "yellow", high = "red") +
  labs(
    x = "Kualitas Potongan",
    y = "Harga Berlian (USD)"
  )

Grafik tersebut menggambarkan hubungan antara kualitas potongan berlian pada sumbu X dan harga berlian (USD) pada sumbu Y. Warna pada setiap heksagon menunjukkan jumlah (count) data dalam rentang harga tertentu. semakin merah warnanya berarti jumlah observasi semakin banyak, sedangkan semakin kuning warnanya berarti jumlah observasinya semakin sedikit.

Urutan kategori dari kualitas terendah ke tertinggi adalah:

Berdasarkan Kepadatan Data (Warna Hexbin) menunjukkan:

Dari segi sebaran harga, semua kategori cut memiliki rentang harga yang luas, mulai dari sekitar ratusan dolar hingga hampir mendekati 20.000 USD. Ini menunjukkan bahwa baik potongan berkualitas rendah maupun tinggi dapat memiliki harga yang mahal. Dengan demikian, tidak terdapat hubungan linear yang jelas antara peningkatan kualitas potongan dan kenaikan harga. Harga berlian tampaknya tidak hanya dipengaruhi oleh kualitas potongan, tetapi kemungkinan besar juga oleh faktor lain seperti berat berlian (carat), warna (color), dan kejernihan (clarity).

3. 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 contoh kode untuk membuat scatter plot antara price dan clarity:

library(ggplot2)
library(scales)

ggplot(diamonds, aes(x = clarity, y = price)) +
  geom_point(alpha = 0.4, color = "darkred") +
  
  # Sumbu X (urut dari kualitas terendah ke tertinggi)
  scale_x_discrete(limits = c("I1", "SI2", "SI1", 
                              "VS2", "VS1", 
                              "VVS2", "VVS1", "IF")) +
  
  # Sumbu Y lebih detail
  scale_y_continuous(
    breaks = seq(0, 20000, by = 1000),      
    minor_breaks = seq(0, 20000, by = 500), 
    labels = comma                         
  ) +
  
  labs(
    title = "Scatter Plot Harga Berlian berdasarkan Tingkat Kejernihan Berlian",
    x = "Tingkat Kejernihan Berlian",
    y = "Harga Berlian (USD)"
  ) +
  
  theme_minimal()

Grafik tersebut menunjukkan hubungan antara tingkat kejernihan berlian (clarity) pada sumbu X dan harga berlian (USD) pada sumbu Y. Setiap titik mewakili satu berlian dalam dataset. Karena variabel pada sumbu X bersifat kategorik, maka titik-titik membentuk pola vertikal pada masing-masing kategori kejernihan.

Urutan kategori dari kualitas terendah ke tertinggi adalah:

Berdasarkan grafik, harga berlian pada setiap tingkat kejernihan memiliki rentang yang cukup luas, mulai dari ratusan dolar hingga mendekati 20.000 USD. Pada kategori kejernihan rendah seperti I1 dan SI2, sebagian besar titik berada pada harga rendah hingga menengah, meskipun terdapat beberapa titik dengan harga tinggi. Sementara itu, pada kategori kejernihan yang lebih tinggi seperti VS1, VVS1, dan IF, terlihat lebih banyak titik yang berada pada rentang harga menengah hingga tinggi. Hal ini menunjukkan adanya kecenderungan bahwa semakin tinggi tingkat kejernihan, harga berlian cenderung meningkat.

Namun demikian, distribusi harga antar kategori masih saling tumpang tindih (overlap). Artinya, berlian dengan kejernihan lebih rendah masih dapat memiliki harga yang sama atau bahkan lebih tinggi dibandingkan berlian dengan kejernihan lebih tinggi. Kondisi ini menunjukkan bahwa tingkat kejernihan bukan satu-satunya faktor yang menentukan harga berlian. Faktor lain seperti berat karat (carat), warna (color), dan kualitas potongan (cut) kemungkinan besar juga berpengaruh terhadap penentuan harga berlian.

Kesimpulan

Visualisasi bivariate antara harga berlian (price) dengan variabel lain seperti berat berlian (carat), kualitas potongan (cut), dan tingkat kejernihan (clarity) menunjukkan bahwa

  1. Secara keseluruhan, grafik ini menunjukkan bahwa hubungan berat berlian dan harga berlian bersifat positif, dimana data terbesar dan terbanyak terdapat pada berlian berkarat kecil dan harga rendah, sementara berlian berkarat besar dan berharga tinggi hanya muncul dalam jumlah terbatas dalam dataset diamond tersebut.

  2. Secara keseluruhan, grafik ini menunjukkan bahwa kualitas potongan bukan penentu utama harga berlian dalam dataset tersebut, karena tidak terdapat hubungan linear yang jelas antara peningkatan kualitas potongan dan kenaikan harga. Berdasarkan grafik juga menunjukkan bahwa kualitas potongan Ideal mendominasi jumlah data dalam dataset, terutama pada harga rendah, dan bahwa distribusi harga pada setiap kategori cut saling tumpang tindih (overlap).Terjadinya overlap pada distribusi harga antar kategori kualitas potongan karena rentang harga pada masing-masing kategori saling tumpang tindih dan tidak memiliki batas yang jelas.

  3. Secara keseluruhan, grafik ini menunjukkan adanya kecenderungan peningkatan harga seiring dengan meningkatnya tingkat kejernihan berlian, namun distribusi harga antar kategori masih saling tumpang tindih. Hal ini mengindikasikan bahwa tingkat kejernihan bukan satu-satunya faktor yang memengaruhi harga berlian.