Tugas Visualisasi Data

  • Klik Disini Untuk Menuju Rpubs Annebel
  • Klik Disini Untuk Menuju Rpubs Hendra
  • Klik Disini Untuk Menuju Rpubs Ismail
  • Package

    Package yang digunakan pada percobaan ini adalah:

    library(knitr)
    library(kableExtra)
    library(tidyverse)
    library(ggridges)
    library(GGally)
    library(plotly)     # Untuk membuat plot interaktif
    library(mosaicData) # Untuk dataset
    library(tidyverse)
    library(ggridges)
    library(grid) 
    library(DT)

    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

    mosaicData::Weather
    ## # 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")
    Data Weather
    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

    dim(Weather)
    ## [1] 3655   25
    colnames(Weather)
    ##  [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

    df<-Weather  %>% group_by(city)  %>% summarise(m=sum(avg_temp))  
    ## `summarise()` ungrouping output (override with `.groups` argument)
    df
    ## # 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

    df<-Weather  %>% group_by(city) %>% filter(year==2017) %>% summarise(m=round(mean(avg_temp),2))  
    ## `summarise()` ungrouping output (override with `.groups` argument)
    df
    ## # 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 benar

      Data 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 visual

      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

    • Consistency (Konsistensi) : Kemampuan menafsirkan grafik berdasarkan keterpaparan pada grafik serupa di masa lalu atau standar universal yang wajar

      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.

    • Efficiency (Kejelasan) : Kemampuan grafik untuk menggambarkan data dengan cara sesederhana mungkin

      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

    • Necesity (Kebutuhan) : Berkaitan dengan kebutuhan grafik atau elemen tertentu.

      Pemberian label tidak menampilkan data rata-rata temperatur pada setiap bar

    • Truthfulness (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

    rumah<-read.csv("https://raw.githubusercontent.com/gerrydito/Sains-Data-S2/master/Praktikum/Visualisasi%20Data/house_price.csv", header = TRUE, sep=",")
    datatable(rumah)

    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))
    grafik

    Grafik 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))
    grafik

    Catatan 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/


    1. IPB University, ↩︎

    2. IPB University, ↩︎

    3. Badan Pusat Stastitik (Tugas Belajar IPB University), ↩︎

    4. Badan Pusat Stastitik (Tugas Belajar IPB University), ↩︎