Tugas Visualisasi Data
Package
Package yang digunakan pada percobaan ini adalah:
Perbaikan Grafik Kelompok 5
Data
Data yang digunakan pada percobaan ini adalah data Weather yang memiliki 25 kolom.
2016-2017 weather in several cities : merupakan data time series yang menggambarkan kondisi perkembangan cuaca pada beberapa kota yang dirinci menurut bulan dan hari pada tahun 2016-2017
## # A tibble: 3,655 x 25
## city date year month day high_temp avg_temp low_temp high_dewpt
## <chr> <date> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Auck~ 2016-01-01 2016 1 1 68 65 62 64
## 2 Auck~ 2016-01-02 2016 1 2 68 66 64 64
## 3 Auck~ 2016-01-03 2016 1 3 77 72 66 70
## 4 Auck~ 2016-01-04 2016 1 4 73 66 60 66
## 5 Auck~ 2016-01-05 2016 1 5 69 62 55 55
## 6 Auck~ 2016-01-06 2016 1 6 69 63 57 54
## 7 Auck~ 2016-01-07 2016 1 7 71 66 60 59
## 8 Auck~ 2016-01-08 2016 1 8 77 70 64 72
## 9 Auck~ 2016-01-09 2016 1 9 69 66 64 68
## 10 Auck~ 2016-01-10 2016 1 10 71 66 62 63
## # ... with 3,645 more rows, and 16 more variables: avg_dewpt <dbl>,
## # low_dewpt <dbl>, high_humidity <dbl>, avg_humidity <dbl>,
## # low_humidity <dbl>, high_hg <dbl>, avg_hg <dbl>, low_hg <dbl>,
## # high_vis <dbl>, avg_vis <dbl>, low_vis <dbl>, high_wind <dbl>,
## # avg_wind <dbl>, low_wind <dbl>, precip <chr>, events <chr>
kbl(head(Weather,20), caption = "Data Weather") %>% kable_styling() %>% scroll_box(height = "300px")| city | date | year | month | day | high_temp | avg_temp | low_temp | high_dewpt | avg_dewpt | low_dewpt | high_humidity | avg_humidity | low_humidity | high_hg | avg_hg | low_hg | high_vis | avg_vis | low_vis | high_wind | avg_wind | low_wind | precip | events |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Auckland | 2016-01-01 | 2016 | 1 | 1 | 68 | 65 | 62 | 64 | 60 | 55 | 100 | 82 | 68 | 30.15 | 30.09 | 30.01 | 6 | 6 | 4 | 21 | 15 | 28 | 0 | Rain |
| Auckland | 2016-01-02 | 2016 | 1 | 2 | 68 | 66 | 64 | 64 | 63 | 61 | 100 | 94 | 88 | 30.04 | 29.90 | 29.80 | 6 | 5 | 1 | 33 | 21 | 46 | 0 | Rain |
| Auckland | 2016-01-03 | 2016 | 1 | 3 | 77 | 72 | 66 | 70 | 67 | 64 | 100 | 91 | 74 | 29.80 | 29.73 | 29.68 | 6 | 6 | 1 | 18 | 12 | NA | 0 | Rain |
| Auckland | 2016-01-04 | 2016 | 1 | 4 | 73 | 66 | 60 | 66 | 60 | 54 | 100 | 76 | 53 | 30.12 | 29.90 | 29.77 | 6 | 6 | 6 | 15 | 10 | NA | 0 | Rain |
| Auckland | 2016-01-05 | 2016 | 1 | 5 | 69 | 62 | 55 | 55 | 52 | 48 | 82 | 69 | 56 | 30.21 | 30.14 | 30.09 | 6 | 6 | 6 | 13 | 7 | NA | 0 | NA |
| Auckland | 2016-01-06 | 2016 | 1 | 6 | 69 | 63 | 57 | 54 | 51 | 46 | 88 | 65 | 46 | 30.24 | 30.22 | 30.18 | 6 | 6 | 6 | 17 | 8 | 28 | 0 | NA |
| Auckland | 2016-01-07 | 2016 | 1 | 7 | 71 | 66 | 60 | 59 | 54 | 50 | 83 | 65 | 53 | 30.24 | 30.13 | 30.04 | 6 | 6 | 6 | 22 | 12 | 25 | 0 | Rain |
| Auckland | 2016-01-08 | 2016 | 1 | 8 | 77 | 70 | 64 | 72 | 67 | 59 | 100 | 92 | 83 | 30.01 | 29.79 | 29.62 | 6 | 6 | 2 | 21 | 14 | 28 | 0 | Rain |
| Auckland | 2016-01-09 | 2016 | 1 | 9 | 69 | 66 | 64 | 68 | 61 | 55 | 100 | 81 | 64 | 29.86 | 29.76 | 29.65 | 6 | 6 | 4 | 18 | 11 | 29 | 0 | Rain |
| Auckland | 2016-01-10 | 2016 | 1 | 10 | 71 | 66 | 62 | 63 | 58 | 55 | 88 | 76 | 64 | 29.95 | 29.86 | 29.83 | 6 | 6 | 6 | 20 | 15 | NA | 0 | Rain |
| Auckland | 2016-01-11 | 2016 | 1 | 11 | 75 | 67 | 59 | 61 | 58 | 54 | 94 | 72 | 53 | 30.09 | 30.03 | 29.95 | 6 | 6 | 6 | 17 | 10 | 26 | 0 | NA |
| Auckland | 2016-01-12 | 2016 | 1 | 12 | 69 | 66 | 62 | 66 | 62 | 59 | 100 | 87 | 78 | 30.09 | 30.01 | 29.95 | 6 | 6 | 3 | 16 | 8 | NA | 0 | Rain |
| Auckland | 2016-01-13 | 2016 | 1 | 13 | 71 | 66 | 62 | 61 | 57 | 54 | 83 | 73 | 64 | 30.06 | 30.00 | 29.95 | 6 | 6 | 6 | 18 | 13 | NA | 0 | NA |
| Auckland | 2016-01-14 | 2016 | 1 | 14 | 75 | 68 | 62 | 63 | 61 | 59 | 94 | 80 | 65 | 30.21 | 30.13 | 30.04 | 6 | 6 | 6 | 17 | 9 | NA | 0 | NA |
| Auckland | 2016-01-15 | 2016 | 1 | 15 | 75 | 68 | 62 | 63 | 60 | 57 | 94 | 76 | 57 | 30.21 | 30.12 | 30.04 | 6 | 6 | 6 | 15 | 7 | NA | 0 | NA |
| Auckland | 2016-01-16 | 2016 | 1 | 16 | 78 | 68 | 59 | 66 | 61 | 50 | 100 | 76 | 41 | 30.09 | 30.04 | 29.98 | 6 | 6 | 6 | 12 | 4 | NA | 0 | Rain |
| Auckland | 2016-01-17 | 2016 | 1 | 17 | 78 | 72 | 66 | 68 | 65 | 63 | 94 | 80 | 61 | 30.04 | 29.95 | 29.92 | 6 | 6 | 6 | 21 | 11 | NA | 0 | Rain |
| Auckland | 2016-01-18 | 2016 | 1 | 18 | 77 | 72 | 68 | 72 | 68 | 64 | 100 | 89 | 69 | 29.92 | 29.86 | 29.80 | 6 | 6 | 2 | 29 | 18 | 41 | 0 | Rain |
| Auckland | 2016-01-19 | 2016 | 1 | 19 | 75 | 68 | 62 | 70 | 62 | 59 | 100 | 78 | 61 | 30.01 | 29.91 | 29.83 | 6 | 6 | 6 | 20 | 11 | NA | 0 | Rain |
| Auckland | 2016-01-20 | 2016 | 1 | 20 | 75 | 68 | 62 | 63 | 62 | 61 | 94 | 78 | 65 | 30.09 | 30.03 | 29.98 | 6 | 6 | 6 | 12 | 5 | NA | 0 | NA |
Data Weather memiliki 3655 observasi data dan 25 kolom
## [1] 3655 25
## [1] "city" "date" "year" "month"
## [5] "day" "high_temp" "avg_temp" "low_temp"
## [9] "high_dewpt" "avg_dewpt" "low_dewpt" "high_humidity"
## [13] "avg_humidity" "low_humidity" "high_hg" "avg_hg"
## [17] "low_hg" "high_vis" "avg_vis" "low_vis"
## [21] "high_wind" "avg_wind" "low_wind" "precip"
## [25] "events"
Grafik Awal
Dilakukan agregasi data temperatur menurut city
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 5 x 2
## city m
## <chr> <dbl>
## 1 Auckland 44311
## 2 Beijing 40562
## 3 Chicago 38512
## 4 Mumbai 59165
## 5 San Diego 48649
Visualisasi Data Dengan Line Chart
ggplot(df, aes(x=city, y=m)) +
geom_line(aes(group=4), size=2, colour="green") +
geom_point(size=5, colour=c("red", "yellow", "blue", "orange", "black"))+
geom_label(data = df,
aes(label = m, x = city, y=m),
vjust = -0.5,
show.legend = TRUE)+
ggtitle("Weather in several cities")+
labs(x=NULL, y=NULL)+
ylim(38000,63000)Grafik Perbaikan
Dilakukan visualisasi data antara variabel city dan avg_temp dengan menghitung rata-rata temperatur pada tiap kota selama tahun 2017
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 5 x 2
## city m
## <chr> <dbl>
## 1 Auckland 60.5
## 2 Beijing 55.8
## 3 Chicago 52.8
## 4 Mumbai 81.1
## 5 San Diego 66.5
ggplot(df, aes(x = city, y = m)) +
geom_col() +
scale_y_continuous(expand = c(0,0))+
ggtitle("Weather in Several City, 2017 ") +
# geom_label(data = df,
# aes(label = m, x = city, y=m),
# vjust = -0.5,
#show.legend = TRUE)+
xlab("City") +
ylab("Average Temperature (F)") +
ylim(0,86)+
theme(plot.title = element_text(hjust = 0.5))## Scale for 'y' is already present. Adding another scale for 'y', which will
## replace the existing scale.
Catatan Perbaikan
Apprehension(Pemahaman) : Kemampuan untuk melihat hubungan di antara data dengan benarData Weather merupakan data yang berisi kondisi cuaca pada beberapa kota yang dirinci menurut tahun, bulan, dan hari. Untuk memperbaiki plot sebelumnya, maka dihitung rata-rata temperatur pada tiap kota untuk tahun 2017. Jadi hubungan antara kota dengan rata-rata temperatur pada tiap kota Tahun 2017 lebih bermakna dan memiliki hubungan untuk dilakuan ploting data atau dibuat grafik dengan bar chart.
Clarity(Kejelasan) : Kemampuan untuk membedakan elemen-elemen grafik secara visualPada bar chart telah dibuat elemen-elemen grafik seperti Judul grafik, label sumbu x, label sumbu y, dan nilai dari rata-rata temperatur tiap kota dengan satuan Farenheit
Consistency(Konsistensi) : Kemampuan menafsirkan grafik berdasarkan keterpaparan pada grafik serupa di masa lalu atau standar universal yang wajarPlot ini sudah konsisten karena pemilihan bentuk grafik telah sesuai dengan menggunakan bar chart untuk data rata-rata pada tiap kota yang menjadi elemen variabel x.
Efficiency(Kejelasan) : Kemampuan grafik untuk menggambarkan data dengan cara sesederhana mungkinPemilihan warnapada unsur diagram batang merupakan tampilan grafik yang sudah sederhana dan menggunakan warna yang mudah dilihat walaupun bagi seorang penderita buta warna, dimana menghindari warna seperti antara merah dan hijau serta antara kuning dan biruNecesity(Kebutuhan) : Berkaitan dengan kebutuhan grafik atau elemen tertentu.Pemberian labeltidak menampilkan data rata-rata temperatur pada setiap barTruthfulness(Keadaan sebenarnya) : Apakah data di plot dengan benar dalam sistem koordinat yang ditentukan dengan baik.Plot sudah menggambarkan keadaan yang sebenarnya, karena histogram dibuat dengan kaidah yang sesuai dari sisi data yang ditampilkan berdasarkan rata-rata temmperatur pada setiap kota.
Perbaikan Grafik Kelompok 6
Data
Data yang digunakan adalah data House Price Prediction
Grafik Awal
Grafik yang akan saya buat adalah grafik mengenai regresi dengan peubah penjelas adalah jumlah kamar dan peubah y adalah tahun dibangun.
grafik<-ggplot(aes(x=bedrooms,
y=yr_built),
data=rumah)+
geom_point(color=rainbow(4600))+
geom_smooth(method="lm", formula=y~x, colour="black")+geom_line()+
labs(title="Model Regresi Jumlah Kamar Terhadap Tahun Berdiri")+
xlab("Jumlah Kamar")+
ylab("Tahun Berdiri")+xlim(0,50)+theme(plot.title = element_text(hjust = 0.5))
grafikGrafik Perbaikan
# Menghiangkan data pencilan
rumah1 <- rumah %>% filter(price !=26590000 & price !=12899000 )
grafik<-ggplot(aes(x=bedrooms,
y=price),
data=rumah1)+
geom_point(color='black')+
geom_smooth(method="lm", formula=y~x, colour="blue")+
labs(title="Model Regresi Jumlah Kamar Terhadap Harga")+
xlab("Jumlah Kamar")+
ylab("Harga")+theme(plot.title = element_text(hjust = 0.5))
grafikCatatan Perbaikan
Apprehension atau pemahaman
Menggantikan variabel tahun berdiri dengan variabel jumlah kamar, sehingga substansi data pada grafik dapat menggambarkan model regresi yang lebih tepat, dimana terdapat hubungan antara jumlah kamar tidur dengan harga
Clarity atau kejelasan.
Mengubah warna point menjadi 1 warna karena tidak memiliki makna apapun pada grafik. Serta dilakukan penghapusan 2 observasi data pencilan sehingga model regresi dapat terlihat dengan jelas
Consistency atau konsistensi.
Menghapus plot garis yang menghubungkan antara titik satu dengan titik yang lain
Efficiency atau efisiensi.
Menghapus plot garis yang menghubungkan antara titik satu dengan titik yang lain dan mengubah warna titik menjadi 1 warna
Necesity atau kebutuhan.
Penghapusan elemen garis yang menghubungkan antara titik satu dengan titik yang lain
Truthfulness atau keadaan sebenarnya.
Memperbaiki nilai dari range X dan range Y, agar grafik dapat menggambarkan sebaran plot dan model regresi dengan lebih jelas
Diskusi
Berdasarkan hasil diskusi dari kedua kelompok kecil, maka dapat dirangkum pelanggaran beserta perbaikan untuk masing-masing prinsip ACCENT yaitu :
Tugas Kelompok 5
| Prinsip | Pelanggaran | Perbaikan | Perbandingan |
|---|---|---|---|
| Apprehension | Plot menampilkan group by city dan summary data berupa penjumlahan data temperatur (temp) selama 2016-2017, sehingga tidak tepat menggambarkan perbedaan cuaca menurut kota (city) | Memperbaiki plot sebelumnya, maka dihitung rata-rata temperatur pada tiap kota untuk tahun 2017. Jadi hubungan antara kota dengan rata-rata temperatur pada tiap kota Tahun 2017 lebih bermakna dan memiliki hubungan untuk dilakuan ploting data atau dibuat grafik dengan bar chart. | Sesuai dengan diskusi |
| Clarity | Pada line chart tidak terdapat label x dan label y, sehingga tidak jelas unit/satuan dari line chart. Line chart juga tidak menampilkan variabel yang diukur satuan dan referensi waktu yang digunakan | Pada bar chart telah dibuat elemen-elemen grafik seperti Judul grafik, label sumbu x, label sumbu y, dan nilai dari rata-rata temperatur tiap kota dengan satuan Farenheit serta tahun data yang digunakan | Sesuai dengan diskusi |
| Consistency | Plot ini tidak konsisten karena kesalahan dalam memilih tipe grafik untuk menampilkan data | Plot ini sudah konsisten karena pemilihan bentuk grafik telah sesuai dengan menggunakan bar chart untuk data rata-rata pada tiap kota yang menjadi elemen variabel x. | Sesuai dengan diskusi |
| Efficiency | Pemilihan warna pada unsur line dan point tidak tepat karena menggabungkan warna merah dan hijau, dimana warna tersebut sebaiknya dihindari pada pengidap buta warna | Pemilihan warna pada unsur diagram batang merupakan tampilan grafik yang sudah sederhana dan menggunakan warna yang mudah dilihat walaupun bagi seorang penderita buta warna, dimana menghindari warna seperti antara merah dan hijau serta antara kuning dan biru | Sesuai dengan diskusi |
| Necesity | Pemberian label jumlah kasus pada setiap line point tidak diperlukan | Pemberian label tidak menampilkan data rata-rata temperatur pada setiap bar | Sesuai dengan diskusi |
| Truthfulness | Tidak menggambarkan keadaan yang sebenarnya, karena line chart dibuat dengan kaidah yang salah dari sisi data yang ditampilkan, karena jumlah temperature yang dikelompokan menurut kota (city) menjadikan data hilang makna dan tidak menggambarkan kondisi sebenarnya | Plot sudah menggambarkan keadaan yang sebenarnya, karena histogram dibuat dengan kaidah yang sesuai dari sisi data yang ditampilkan berdasarkan rata-rata temmperatur pada setiap kota. | Sesuai dengan diskusi |
Tugas Kelompok 6
| Prinsip | Pelanggaran | Perbaikan | Perbandingan |
|---|---|---|---|
| Apprehension | Pemilihan variabel yang tidak berkorelasi sehingga plot regresi tidak memiliki substansi yang jelas | Variabel yang sebelumnya adalah jumlah kamar dan tahun berdiri, diganti dengan variabel baru yaitu jumlah kamar dan harga yang memiliki korelasi sehingga substansi data menjadi jelas | Sesuai dengan diskusi |
| Clarity | Penggunaan warna yang terlalu beragam dalam 1 variabel yang sama dan data yang memiliki pencilan | Warna titik-titik data diubah hanya menjadi 1 warna karena pembedaan warna tidak menjelaskan apapun. Dilakukan juga penghapusan 2 pencilan karena dianggap akan mempengaruhi garis regresi | Sesuai dengan diskusi |
| Consistency | Grafik regresi yang digunakan tidak sesuai dengan standar pada umumnya. Terdapat plot garis yang menghubungkan titik data. Hal ini tidak sesuai standar dan tidak dibutuhkan | Menghilangkan garis yang menghubungkan titik-titik data | Sesuai dengan diskusi |
| Efficiency | Penggunaan warna dan garis yang menghubungkan titik data tidak diperlukan karena tidak menjelaskan apapun | Warna titik-titik data diubah menjadi 1 warna dan menghilangkan garis yang menghubungkannya | Sesuai dengan diskusi |
| Necesity | Garis yang menghubungkan titik-titik data tidak diperlukan dalam grafik | Menghilangkan garis yang menghubungkan titik-titik data | Sesuai dengan diskusi |
| Truthfulness | Skala pada sumbu x (Jumlah Kamar) tidak sesuai dengan range data. Data hanya ada pada range 1-10, sedangkan dalam grafik dibuat skala sampai dengan 50. Hal ini mengurangi keterbacaan data grafik | Memperbaiki nilai dari range sumbu X dan Y agar sebaran plot dan model regresi dapat terlihat dengan jelas | Sesuai dengan diskusi |
References
Dito GA, Anisa R. 2020. Visualisasi Data dengan ggplot2. [1 Maret 2021]. (https://rpubs.com/gdito/viz-ggplot2)
RStudio . tanpa tahun . Data Visualization with ggplot2 Cheat Sheet [4 Maret 2021]. https://rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf
Nurussadad, A.A. (2021). Visualisasi Data dengan ggplot2. [3 Maret 2021]. https://rpubs.com/nurussadad/STA581-04-ggplot2
anonym . tanpa tahun .qplot: Quick plot with ggplot2 - R software and data visualization [2 Maret 2021]. http://www.sthda.com/english/wiki/qplot-quick-plot-with-ggplot2-r-software-and-data-visualization
Chang W. 2013. R Graphic Cookbook. California : O’Really Media. http://www.cookbook-r.com/
de Vries A, Meys J. tanpa tahun. How to Get Geoms in ggplot in R [4 Maret 2021]. https://www.dummies.com/programming/r/how-to-get-geoms-in-ggplot-in-r/
Dito GA, Anisa R. 2020. Visualisasi Data dengan ggplot2. [1 Maret 2021].https://rpubs.com/gdito/viz-ggplot2
Lilis D. tanpa tahun .R Graphics: Plotting in Color with qplot Part 2 [4 Maret 2021]. https://www.theanalysisfactor.com/r-programming-plotting-color-part-2-qplot/
RStudio . tanpa tahun . Data Visualization with ggplot2 Cheat Sheet [4 Maret 2021]. https://rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf
Turner S. 2010. Arrange multiple ggplot2 plots in the same image window [3 Maret 2021]. https://gettinggeneticsdone.blogspot.com/2010/03/arrange-multiple-ggplot2-plots-in-same.html
Wickham H, Danielle N, Pedersen TL. 2016. ggplot2: Elegant Graphics for Data Analysis. Texas: Springer. https://ggplot2-book.org/
IPB University, febriliaadicanra@apps.ipb.ac.id ↩︎
IPB University, 09021984ismail@apps.ipb.ac.id↩︎
Badan Pusat Stastitik (Tugas Belajar IPB University), annebel@apps.ipb.ac.id↩︎
Badan Pusat Stastitik (Tugas Belajar IPB University), hendra_dharmawan@apps.ipb.ac.id↩︎