Dalam analisis data, visualisasi merupakan salah satu teknik penting untuk memahami distribusi, pola, dan hubungan dalam kumpulan data. Dengan menggunakan teknik visualisasi yang tepat, kita dapat menyajikan informasi secara lebih intuitif, sehingga memudahkan interpretasi data serta pengambilan keputusan yang lebih baik. Berdasarkan jumlah variabel yang dianalisis, visualisasi data dapat dikategorikan menjadi tiga jenis utama, yaitu univariate, bivariate, dan multivariate.
Sebelum mulai, pastikan R sudah terinstall di komputer Anda. Gunakan paket ggplot2 untuk visualisasi data dengan perintah berikut:
library(ggplot2)
library(data.table)
## Warning: package 'data.table' was built under R version 4.5.3
datairis <- data.table(iris)
datairis
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <num> <num> <num> <num> <fctr>
## 1: 5.1 3.5 1.4 0.2 setosa
## 2: 4.9 3.0 1.4 0.2 setosa
## 3: 4.7 3.2 1.3 0.2 setosa
## 4: 4.6 3.1 1.5 0.2 setosa
## 5: 5.0 3.6 1.4 0.2 setosa
## ---
## 146: 6.7 3.0 5.2 2.3 virginica
## 147: 6.3 2.5 5.0 1.9 virginica
## 148: 6.5 3.0 5.2 2.0 virginica
## 149: 6.2 3.4 5.4 2.3 virginica
## 150: 5.9 3.0 5.1 1.8 virginica
# Contoh EDA awal
summary(datairis)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
summary(mtcars) digunakan untuk melihat ringkasan statistik dari setiap variabel pada dataset mtcars, seperti nilai minimum, maksimum, mean, median, dan kuartil. Ini membantu memahami distribusi data secara cepat di tahap awal eksplorasi.
str(datairis)
## Classes 'data.table' and 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
## - attr(*, ".internal.selfref")=<externalptr>
str(mtcars) digunakan untuk melihat struktur data, termasuk jumlah observasi, jumlah variabel, tipe data setiap kolom (numeric, factor, dll), serta contoh isi datanya. Ini penting untuk memastikan format data sudah sesuai sebelum analisis lebih lanjut.
Visualisasi univariate digunakan ketika kita hanya menganalisis satu variabel dalam suatu dataset. Tujuannya adalah untuk memahami distribusi, pusat data, penyebaran, serta kemungkinan adanya outlier. Contoh teknik visualisasi univariate antara lain:
Histogram – untuk melihat distribusi data Boxplot – untuk memahami penyebaran data dan outlier Density Plot – untuk melihat pola distribusi secara lebih halus
ggplot(datairis, aes(x = Sepal.Length)) +
geom_histogram(binwidth = 0.5, fill = "pink", color = "black") +
labs(title = "Histogram Sepal Length")
Kode di atas akan membuat histogram untuk variabel Sepal.Length, yang
menunjukkan distribusi panjang sepal pada dataset iris. Histogram ini
digunakan untuk memahami distribusi panjang sepal. Jika distribusinya
miring ke kanan atau ke kiri, itu menunjukkan adanya skewness dalam
data.
ggplot(datairis, aes(y = Sepal.Length)) +
geom_boxplot(fill = "red") +
labs(title = "Boxplot Sepal Length")
Boxplot ini membantu mendeteksi outlier dan melihat persebaran data.
Jika terdapat titik di luar whisker, itu menunjukkan adanya nilai
ekstrem.
Analisis bivariate dilakukan ketika kita ingin melihat hubungan antara dua variabel. Teknik ini berguna untuk memahami pola hubungan, korelasi, atau tren antar variabel. Contoh teknik visualisasi bivariate meliputi:
Scatter Plot – untuk melihat hubungan antara dua variabel numerik Line Chart – untuk melihat hubungan berurutan antara dua variabel, sering digunakan dalam data deret waktu Bar Chart (Grouped/Stacked) – untuk membandingkan distribusi dua variabel kategorikal atau campuran
ggplot(datairis, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(aes(color = Species)) +
labs(title = "Scatter Plot Sepal Length vs Sepal Width")
Scatter plot ini membantu dalam mengidentifikasi korelasi antara panjang
dan lebar sepal. Jika titik-titik membentuk pola linier, itu menunjukkan
adanya korelasi kuat antara kedua variabel.
library(ggplot2)
ggplot(datairis, aes(x = Sepal.Length, y = Petal.Length, color = Species)) +
geom_line(stat = "summary", fun = mean)
Ada kecenderungan hubungan positif antara Sepal Length dan Petal Length,
dengan perbedaan yang jelas antar spesies, di mana setosa paling kecil,
versicolor sedang, dan virginica paling besar.
cor(datairis$Sepal.Length, datairis$Sepal.Width)
## [1] -0.1175698
Nilai korelasi -0.1175698 artinya: - Hubungan antara dua variabel bersifat negatif (berlawanan arah) dan sangat lemah (mendekati 0) - Interpretasi sederhananya: Ketika satu variabel meningkat, variabel lainnya cenderung sedikit menurun, namun hubungan ini hampir tidak berarti secara praktis.
Boxplot Berdasarkan Kategori
ggplot(datairis, aes(x = Species, y = Sepal.Length, fill = Species)) +
geom_boxplot() +
labs(title = "Boxplot Sepal Length berdasarkan Species")
Boxplot ini memungkinkan kita untuk membandingkan distribusi panjang
sepal berdasarkan spesies. Jika terdapat tumpang tindih besar antara
boxplot, berarti perbedaannya tidak terlalu signifikan.
Ketika analisis melibatkan lebih dari dua variabel, kita memerlukan visualisasi multivariate untuk mengidentifikasi pola atau hubungan yang lebih kompleks. Beberapa teknik yang sering digunakan antara lain:
Scatter Plot Matrix – untuk melihat hubungan antara beberapa variabel numerik Heatmap – untuk menampilkan korelasi antara variabel dalam bentuk matriks warna Parallel Coordinates Plot – untuk menggambarkan hubungan antar banyak variabel secara simultan
pairs(iris[,1:4], col = iris$Species, pch = 19)
Pair plot ini menampilkan hubungan antar semua pasangan variabel dalam
dataset iris. Kita bisa melihat pola antara berbagai kombinasi variabel
untuk mendapatkan wawasan lebih dalam. Fungsi pairs() di base R dapat
digunakan untuk membuat scatter plot matriks sederhana tanpa perlu
menginstal paket tambahan.
Menggunakan paket plotly:
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, size = Petal.Length, color = Species)) +
geom_point(alpha = 0.7) +
labs(title = "Bubble Plot Sepal vs. Petal")
Bubble plot merupakan salah satu cara untuk menganalisis hubungan
multivariat antara tiga variabel kuantitatif sekaligus dalam satu
visualisasi. Dalam contoh berikut, kita akan menggunakan Sepal.Length
dan Sepal.Width sebagai sumbu X dan Y, sementara Petal.Length
direpresentasikan dalam ukuran gelembung, serta Species sebagai warna
kategori.
Dengan menggunakan teknik visualisasi di atas, kita dapat menganalisis data secara lebih efektif: Visualisasi univariate membantu memahami distribusi data dan mendeteksi outlier. Visualisasi bivariate memungkinkan kita melihat hubungan antara dua variabel, seperti korelasi atau pola tertentu. Visualisasi multivariate memberikan wawasan lebih mendalam dengan mempertimbangkan beberapa variabel sekaligus, terutama untuk memahami interaksi kompleks dalam data. Pemahaman ini sangat penting untuk analisis data eksploratif sebelum melakukan pemodelan lebih lanjut.