Tugas Praktikum Visualisasi Data

1. Visualisasi untuk antar peubah numerik

Hubungan Antar Peubah Numerik

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.

Hubungan untuk Banyak Pasangan Peubah

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.

2. Visualisasi Untuk Time Series

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.

3. Visualisasi Spasial

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.