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

ggplot(datairis, aes(x = Sepal.Length)) +
  geom_histogram(binwidth = 0.5, fill = "magenta", 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 = "green") +
  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.

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 = Sepal.Width, 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.

#korelasi setosa
cor(datairis$Sepal.Length [1:50], datairis$Sepal.Width [1:50])
## [1] 0.7425467
#korelasi versicolor
cor(datairis$Sepal.Length [51:100], datairis$Sepal.Width [51:100])
## [1] 0.5259107
#korelasi virginica
cor(datairis$Sepal.Length [101:150], datairis$Sepal.Width [101:150])
## [1] 0.4572278

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.

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.

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.

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.

KESIMPULAN

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.