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.
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:
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:
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) 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):
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).
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).
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.
Visualisasi bivariate antara harga berlian (price) dengan variabel lain seperti berat berlian (carat), kualitas potongan (cut), dan tingkat kejernihan (clarity) menunjukkan bahwa
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.
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.
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.