Ada hubungan linear positif dan linear negatif yang terbentuk antara peubah numerik. Plot dengan pola menyebar akan memiliki varians yang lebih besar daripada plot yang mengerucut. Dengan kata lain, korelasi yang dihasilkan oleh plot dengan amatan yang mendekati garis linear akan lebih kuat daripada plot dengan pola menyebar. Pada kesempatan kali ini, saya akan menggunakan data penjualan mobil yang diperoleh dari Kaggle sebagai berikut :
#read data
carsales <- read.csv("D:\\IPB\\Statistika Sem 4\\Visualisasi Data\\Car_sales.csv",sep = ",")
head(carsales)
## Manufacturer Model Sales_in_thousands X__year_resale_value Vehicle_type
## 1 Acura Integra 16.919 16.360 Passenger
## 2 Acura TL 39.384 19.875 Passenger
## 3 Acura CL 14.114 18.225 Passenger
## 4 Acura RL 8.588 29.725 Passenger
## 5 Audi A4 20.397 22.255 Passenger
## 6 Audi A6 18.780 23.555 Passenger
## Price_in_thousands Engine_size Horsepower Wheelbase Width Length Curb_weight
## 1 21.50 1.8 140 101.2 67.3 172.4 2.639
## 2 28.40 3.2 225 108.1 70.3 192.9 3.517
## 3 NA 3.2 225 106.9 70.6 192.0 3.470
## 4 42.00 3.5 210 114.6 71.4 196.6 3.850
## 5 23.99 1.8 150 102.6 68.2 178.0 2.998
## 6 33.95 2.8 200 108.7 76.1 192.0 3.561
## Fuel_capacity Fuel_efficiency Latest_Launch Power_perf_factor
## 1 13.2 28 2/2/2012 58.28015
## 2 17.2 25 6/3/2011 91.37078
## 3 17.2 26 1/4/2012 NA
## 4 18.0 22 3/10/2011 91.38978
## 5 16.4 27 10/8/2011 62.77764
## 6 18.5 22 8/9/2011 84.56511
Kemudian, kita akan melihat visualisasi antar 2 peubah, yaitu harga dengan tenaga kuda mobil yang diperoleh
#plot antara Price_in_thousands dengan Horsepower
Price_in_thousands <- carsales$Price_in_thousands
Horsepower <- carsales$Horsepower
plot(Price_in_thousands,Horsepower,col = "blue",main = "Hubungan antara Harga dan Tenaga Kuda Mobil",xlab = "Harga dalam ribuan dollar",ylab = "Tenaga Kuda")
abline(lm(Horsepower ~ Price_in_thousands),col = "red")
Pada plot diatas, sumbu X merupakan harga mobil dalam ribuan dollar dan sumbu Y merupakan tenaga kuda mobil. Terlihat bahwa antar peubah harga dan tenaga kuda mobil memiliki hubungan linear yang cenderung positif dimana semakin besar harga mobil maka semakin besar juga tenaga kuda pada mobil yang diperoleh.
Selain itu, kita juga bisa langsung memvisualisasikan langsung beberapa peubah seperti berikut :
#membuat plot lebih dari 2 peubah
Engine_size <- carsales$Engine_size
Wheelbase <- carsales$Wheelbase
Width <- carsales$Width
pairs(carsales[,c("Price_in_thousands","Horsepower","Engine_size","Wheelbase","Width")], col = "blue")
Scatter plot diatas menggambarkan bahwa seluruh hubungan antar peubah cenderung positif dan tidak ada yang berkorelasi negatif. Hal ini mengimplementasikan hubungan antara dua peubah ketika kedua peubah itu bergerak dalam arah yang sama. Oleh karenanya, satu peubah meningkat jika peubah lainnya meningkat, atau satu peubah menurun sementara yang lainnya juga menurun.
Visualisasi time series membantu mengidentifikasi pola dan tren dalam data. Dengan mengamati pola historis, perubahan variabel dapat dipahami dari waktu ke waktu, sehingga analis dapat mendeteksi pola berulang, seperti musiman, tren, atau siklus. Pada visualisasi kali ini, saya akan menggunakan data penumpang pesawat pada tahun 1949 sampai 1960 yang diperoleh dari Kaggle sebagai berikut :
#read data
airpass <- read.csv("D:\\IPB\\Statistika Sem 4\\Visualisasi Data\\Tugas akhir visdat\\AirPassengers.csv", header = TRUE, sep = ",")
head(airpass)
## Month X.Passengers
## 1 1949-01 112
## 2 1949-02 118
## 3 1949-03 132
## 4 1949-04 129
## 5 1949-05 121
## 6 1949-06 135
Selanjutnya, kita akan membuat time series dari data tersebut
#membuat time series
airpass_ts <- ts(airpass$X.Passengers, start = c(1949,1), end = c(1960,12), frequency = 12)
plot(airpass_ts, main = "Time Series Penumpang Pesawat", col = "red", xlab = "Tahun", ylab = "Jumlah Penumpang")
Pda grafik diatas sumbu X merupakan tahun penerbangan pesawat dan sumbu Y merupakan jumlah penumpang pesawat pada tahun tersebut. Dari visualisasi diatas, terlihat jelas bahwa jumlah penumpang pesawat cenderung terus mengalami peningkatan dari tahun 1949 sampai 1960 walaupun terdapat beberapa fluktuasi yang terjadi. Kenaikan terbesar terjadi pada tahun 1960, yaitu lebih dari 600 penumpang.
Data spasial merupakan data grafis yang menunjukan penampakan fenomena objek di bumi. Baik yang ada di atas bumi, di dalam bumi atau pun di permukaan bumi. Oleh karena itu, penyajian data geografis akan lebih bernilai dalam bentuk visualisasi pada peta dibandingkan hanya dengan tabel, diagram atau chart. Pada visualisasi kali ini, saya akan memvisualisasikan jumlah penerima PIP di Jawa Barat pada tahun 2023 dengan data yang diperoleh dari Susenas Jawa Barat 2023. Data tersebut sudah saya olah terlebih dahulu dan disimpan dalam file petafix sebagai berikut :
#read data
petasus <- read.csv("D:\\IPB\\Statistika Sem 4\\Visualisasi Data\\Tugas akhir visdat\\petafix.csv", sep =",")
petasus
## nama_kota PIP
## 1 Bandung 507
## 2 Bekasi 62
## 3 Bogor 116
## 4 Ciamis 157
## 5 Cianjur 128
## 6 Cirebon 133
## 7 Garut 179
## 8 Indramayu 155
## 9 Karawang 81
## 10 Banjar 62
## 11 Bekasi 51
## 12 Bogor 90
## 13 Cimahi 100
## 14 Cirebon 96
## 15 Depok 48
## 16 Sukabumi 87
## 17 Tasikmalaya 161
## 18 Kuningan 115
## 19 Majalengka 115
## 20 Kalipucang 102
## 21 Purwakarta 65
## 22 Subang 61
## 23 Sukabumi 167
## 24 Sumedang 104
## 25 Tasikmalaya 149
Dari data tersebut kita akan langsung membuat visualisasi spasialnya dengan syntax sebagai berikut :
#library yang akan digunakan
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
library(sf)
## Warning: package 'sf' was built under R version 4.3.3
## Linking to GEOS 3.11.2, GDAL 3.8.2, PROJ 9.3.1; sf_use_s2() is TRUE
library(indonesia)
indonesia_kota <- id_map("indonesia", "kota")
indonesia_kota_jabar <- indonesia_kota[indonesia_kota$nama_provinsi == "Jawa Barat",]
## old-style crs object detected; please recreate object with a recent sf::st_crs()
## old-style crs object detected; please recreate object with a recent sf::st_crs()
Jumlah_Penerima_PIP <- petasus$PIP
ggplot() + geom_sf(data = indonesia_kota_jabar, fill = "white", color = "black") +
geom_sf(data = indonesia_kota_jabar, aes(fill = Jumlah_Penerima_PIP), color = "black") +
scale_fill_viridis_c() + theme_void() + theme(legend.position = "bottom") + ggtitle("Penerima PIP di Jawa Barat 2023") + theme(plot.title = element_text(face = "bold", hjust = 0.5))
Dari visualisasi diatas diperoleh informasi bahwa daerah yang memiliki warna gelap merupakan daerah dengan jumlah penerima PIP yang paling sedikit, sedangkan daerah yang memiliki warna terang merupakan daerah dengan jumlah penerima PIP yang paling banyak. Dimana dengan keterangan warna tersebut didapat bahwa Depok merupakan daerah dengan jumlah penerima PIP yang paling sedikit, sedangkan Bandung merupakan daerah dengan jumlah penerima PIP yang paling banyak.Selain itu, diperoleh informasi juga bahwa masih banyak daerah yang memiliki jumlah penerima PIP yang sedikit di Jawa Barat. Hal ini dilihat dari warna yang cenderung gelap pada peta tersebut.