Visualisasi Data dengan ggplot2

A. Pendahuluan

A.1 Package

install.packages(c("tidyverse", "ggridges", "GGally", "plotly"), dependencies = TRUE)
library(tidyverse)
library(ggridges)
library(GGally)
library(plotly)     # Untuk membuat plot interaktif
library(grid)       # Akan diperlukan untuk fungsi `arrange`

A.2 Data

Data yang digunakan pada praktikum kali ini adalah data House Price Prediction yang memiliki 36 kolom.

Berikut adalah informasi singkat mengenai data

The real estate markets, like those in Sydney and Melbourne, present an interesting opportunity for data analysts to analyze and predict where property prices are moving towards. Prediction of property prices is becoming increasingly important and beneficial. Property prices are a good indicator of both the overall market condition and the economic health of a country. Considering the data provided, we are wrangling a large set of property sales records stored in an unknown format and with unknown data quality issues

Data bisa diakses melalui link berikut : data_house

Anda bisa mengunduhnya dan disimpan di Komputer/Laptop Anda, atau Anda bisa mengaksesnya secara langsung.

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

Opsi :
- header = TRUE digunakan untuk menjadikan header / baris pertama sebagai nama variabel
- sep="," digunakan untuk memisahkan data dengan separator koma (,), perlu diperhatikan, ada beberapa format .csv yang menggunakan titik koma (;), sebagai separator.

A.3 Tambahan

Untuk mempermudah visualisasi beberapa bagian dalam Praktikum ini, digunakan fungsi arrange yang dibuat oleh Stephen Turner

vp.layout <- function(x, y) viewport(layout.pos.row=x, layout.pos.col=y)
arrange <- function(..., nrow=NULL, ncol=NULL, as.table=FALSE) {
  dots <- list(...)
  n <- length(dots)
  if(is.null(nrow) & is.null(ncol)) { nrow = floor(n/2) ; ncol = ceiling(n/nrow)}
  if(is.null(nrow)) { nrow = ceiling(n/ncol)}
  if(is.null(ncol)) { ncol = ceiling(n/nrow)}
  ## NOTE see n2mfrow in grDevices for possible alternative
  grid.newpage()
  pushViewport(viewport(layout=grid.layout(nrow,ncol) ) )
  ii.p <- 1
  for(ii.row in seq(1, nrow)){
    ii.table.row <- ii.row
    if(as.table) {ii.table.row <- nrow - ii.table.row + 1}
    for(ii.col in seq(1, ncol)){
      ii.table <- ii.p
      if(ii.p > n) break
      print(dots[[ii.table]], vp=vp.layout(ii.table.row, ii.col))
      ii.p <- ii.p + 1
    }
  }
}

B. ggplot2 overview

Secara umum pembuatan grafik pada package ggplot2 dapat dilakukan dengan menggunakan dua cara yaitu
qplot(x,y,geom="xxx") atau
ggplot()+geom_xxx(aes(x,y)).

B.1 Scatter Plot

set.seed(581)
vectorx<-rnorm(10, mean=5, sd=1)
vectory<-rnorm(10, mean=5, sd=1)
a1<-qplot(x=vectorx,
          y=vectory,
          geom = "point")

a2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory))

arrange(a1,a2)

B.2 Memberi Plot Title

b1<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          main="qplot")

b2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory))+
  labs(title="ggplot2")

arrange(b1,b2)

B.3 Mengubah axis label

c1<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

c2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory))+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(c1,c2)

B.4 Mengubah axis limits

d1<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y",
          xlim=c(-5,20),
          ylim=c(-10,30))

d2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory))+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  xlim(-5,20)+
  ylim(-10,30)

arrange(d1,d2)

B.5 Memberi Warna Titik

Perlu berhati-hati dalam menaruh colour="", dalam ggplot2, karena bisa terjadi seperti berikut ini :

e1<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          colour="blue",
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

e2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory,
                 colour="blue"))+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(e1,e2)

colour="blue", dibaca sebagai pewarna kategori, sedangkan warnanya diambil warna default kategori, jika ingin mewarnai titik, maka

e3<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          colour="isiapapunlah",
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")+
  scale_colour_manual(values = c("blue"))+
  theme(legend.position="none")

e4<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory),
             colour="blue")+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(e3,e4)

Anda bisa juga memberi warna dengan metode lain, namun Anda perlu membuat vectorx dan vectory dalam suatu data frame

data_sim<-cbind.data.frame(vectorx, vectory)
e5<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          data=data_sim,
          colour=factor(vectorx),
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

e6<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory,
                 colour=factor(vectorx)),
             data=data_sim)+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(e5,e6)

Jika Variasi Warna Anda rasa terlalu banyak, Anda bisa memanfaatkan fungsi round.

e7<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          data=data_sim,
          colour=factor(round(vectorx)),
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

e8<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory,
                 colour=factor(round(vectorx))),
             data=data_sim)+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(e7,e8)

B.6 Mengubah Bentuk Titik

f1<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          data=data_sim,
          colour=factor(round(vectorx)),
          shape =factor(vectorx),
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

f2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory,
                 colour=factor(round(vectorx)),
                 shape =factor(vectorx)),
             data=data_sim)+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(f1,f2)
## Warning: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 10. Consider
## specifying shapes manually if you must have them.
## Warning: Removed 4 rows containing missing values (geom_point).
## Warning: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 10. Consider
## specifying shapes manually if you must have them.
## Warning: Removed 4 rows containing missing values (geom_point).

Dapat dilihat, bahwa ggplot2 mempunyai batasan mengenai banyaknya bentuk titik yang ditampilkan.

f3<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          data=data_sim,
          colour=factor(round(vectorx)),
          shape =factor(round(vectorx)),
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

f4<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory,
                 colour=factor(round(vectorx)),
                 shape =factor(round(vectorx))),
             data=data_sim)+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(f3,f4)

B.7 Mengubah Ukuran Titik

g1<-qplot(x=vectorx,
          y=vectory,
          geom = "point",
          data=data_sim,
          size =vectorx,
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

g2<-ggplot()+
  geom_point(aes(x=vectorx,
                 y=vectory,
                 size = vectorx),
             data=data_sim)+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(g1,g2)

B.8 Menggabungkan lebih dari Satu Geom

ggplot2 memiliki banyak geom yang bisa digunakan sesuai dengan keperluan, diantaranya adalah

Geom Description DefaultStat
geom_bar() Bar chart stat_bin()
geom_point() Scatterplot stat_identity()
geom_line() Line diagram, connecting observations in order by x-value stat_identity()
geom_boxplot Box-and-whisker plot stat_boxplot()
geom_path Line diagram, connecting observations in original order stat_identity()
geom_smooth Add a smoothed conditioned mean stat_smooth()
geom_histogram An alias for geom_bar() and stat_bin() stat_bin()

geom_poin dan geom_line

Berikut ini, akan digabungkan geom_poin dan geom_line

h1<-qplot(x=vectorx,
          y=vectory,
          geom = c("point", "line"),
          data=data_sim,
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

h2<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_line()+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(h1,h2)

geom_point dan geom_smooth

h3<-qplot(x=vectorx,
          y=vectory,
          geom = c("point", "smooth"),
          data=data_sim,
          main="qplot",
          xlab = "Label Axis X",
          ylab="Label Axis Y")

h4<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth()+
  labs(title="ggplot2")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

arrange(h3,h4)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

geom_smooth sebenarnya memerlukan minimal dua opsi lain, yaitu:
- method
- formula

Berikut adalah contoh graphic dengan opsi yang lain

h5<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="loess", formula=y~x)+
  labs(title="loess : y~x")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

h6<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="loess", formula=y~log(x))+
  labs(title="loess : y~log(x)")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

h7<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~x)+
  labs(title="lm : y~x")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")

h8<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="lm : y~log(x)")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")
arrange(h5,h6, h7, h8)

B.9 Menggunakan Theme

i1<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="theme_bw()")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  theme_bw()

i2<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="theme_dark()")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  theme_dark()

i3<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="theme_classic()")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  theme_classic()

i4<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="theme_minimal()")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  theme_minimal()

i5<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="theme_light()")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  theme_light()

i6<-ggplot(aes(x=vectorx,
                 y=vectory),
             data=data_sim)+
  geom_point()+
  geom_smooth(method="lm", formula=y~log(x))+
  labs(title="theme_linedraw()")+
  xlab("Label Axis X")+
  ylab("Label Axis Y")+
  theme_linedraw()

arrange(i1,i2, i3, i4, i5, i6)

Jika, Anda ingin mempelajari lebih lanjut mengenai Visualisasi Grafik, bisa dipelajari di link-link berikut :
- R Graphics Cookbook
- ggplot2: Elegant Graphics for Data Analysis
- Data Visualization with ggplot2 Cheat Sheet
-The R Graph Gallery

C. Visualisasi Distribusi

Pada Subbagaian Data, sudah kta import data dari github dengan nama data_house.

head(data_house)
##                  date   price bedrooms bathrooms sqft_living sqft_lot floors
## 1 2014-05-02 00:00:00  313000        3      1.50        1340     7912    1.5
## 2 2014-05-02 00:00:00 2384000        5      2.50        3650     9050    2.0
## 3 2014-05-02 00:00:00  342000        3      2.00        1930    11947    1.0
## 4 2014-05-02 00:00:00  420000        3      2.25        2000     8030    1.0
## 5 2014-05-02 00:00:00  550000        4      2.50        1940    10500    1.0
## 6 2014-05-02 00:00:00  490000        2      1.00         880     6380    1.0
##   waterfront view condition sqft_above sqft_basement yr_built yr_renovated
## 1          0    0         3       1340             0     1955         2005
## 2          0    4         5       3370           280     1921            0
## 3          0    0         4       1930             0     1966            0
## 4          0    0         4       1000          1000     1963            0
## 5          0    0         4       1140           800     1976         1992
## 6          0    0         3        880             0     1938         1994
##                     street      city statezip country
## 1     18810 Densmore Ave N Shoreline WA 98133     USA
## 2          709 W Blaine St   Seattle WA 98119     USA
## 3 26206-26214 143rd Ave SE      Kent WA 98042     USA
## 4          857 170th Pl NE  Bellevue WA 98008     USA
## 5        9105 170th Ave NE   Redmond WA 98052     USA
## 6           522 NE 88th St   Seattle WA 98115     USA

C.1 Histogram

Selanjutnya, misalkan saja kita ingin melihat bagaimana distribusi atau sebaran dari harga rumah yang disini ada di kolom price. Grafik yang sering digunakan adalah histogram.

ggplot(data_house) +
  geom_histogram(aes(x = price),fill="darkred",col="darkred",binwidth = 5000) +
  ggtitle("Histogram Harga Rumah") +
  ylab("Jumlah Rumah") +
  xlab("Harga Rumah") + 
  theme(plot.title = element_text(hjust = 0.5))

Argumen fill digunakan untuk memberi warna pada histogram, sedangkan argumen binwidth digunakan untuk mengatur ukuran bin/kotak pada boxplot. Fungsi ggtitle digunakan untuk memberi judul pada grafik, sedangkan fungsi ylab dan xlab untuk memberikan nama pada sumbu y dan sumbu x. Terakhir fungsi argumen `plot.title`` digunakan untuk mengatur bagaimana tampilan dari tulisan judul pada plot, seperti posisi, ukuran font dan jenis font.

Berdasarkan histogram tersebut bisa diperoleh informasi bahwa terdapat harga rumah yang sangat mahal dibandingkan dengan harga rumah mayoritas.

C.2 Boxplot

Jika Lita ingin melihat bagaimana perbandingan distribusi pada beberapa peubah, maka boxplot adalah salah plot yang paling umum digunakan. Pada ilustrasi ini kita akan membandingkan distribusi harga rumah dari 10 kota. Oleh karena itu, langkah pertama yang kita lakukan adalah menyaring ke-10 kota tersebut menggunakan fungsi filter.

data_house%>%
  filter(city %in% c("Shoreline","Seattle"
                     ,"Auburn","Duvall","Burien",
                     "Tukwila","Vashon","Yarrow Point",
                     "SeaTac","Medina")
         )%>%
  ggplot() +
  geom_boxplot(aes(x = city,y = price,fill=city),show.legend = F) +
  ggtitle("Sebaran Harga Rumah Setiap Kota") +
  ylab("Harga Rumah") +
  xlab("Kota") + 
  theme(plot.title = element_text(hjust = 0.5))+
  theme_bw()

Hal yang perlu diperhatikan untuk membuat boxplot beberapa peubah atau kelompok adalah nama-nama peubah atau kelompok itu harus ada dalam satu kolom yang bertipe character atau factor. Kemudian argumen x di dalam fungsi aes disi adengan nama kolom yang isinya nama-nama peubah atau kelompok tersebut. Jika ingin memberikan warna yang beda-beda pada boxplot maka argumen fill harus diletakan dalam fungsi aes dan diisi dengan nama kolom yang isinya nama-nama peubah atau kelompok tersebut. Namun, Rumah dengan harga yang paling tinggi diantara 10 kota tersebut berada di kota Seattle.

Berdasarkan boxplot tersebut bahwa harga rumah di kota Medina secara umum lebih tinggi dibandingkan dengan sembilan kota lainnya.

C.3 Ridge Line

Plot alternative lain untuk membandingkan distribusi data adalah plot Ridgeline, yang mirip seperti histogram. Plot ridgeline bisa dijalankan dalam R dengan menggunakan fungsi geom_density_ridges dari package ggridges. Isi argumenya mirip seperti pada saat pembuatan plot boxplot.

data_house%>%
  filter(city %in% c("Shoreline","Seattle"
                     ,"Auburn","Duvall","Burien",
                     "Tukwila","Vashon","Yarrow Point",
                     "SeaTac","Medina")
         )%>%
  ggplot() +
  geom_density_ridges(aes(y = city,x = price,fill=city), show.legend = F) +
  ggtitle("Sebaran Harga Rumah Setiap Kota") +
  ylab("Kota") +
  xlab("Harga Rumah") + 
  theme(plot.title = element_text(hjust = 0.5))+
  theme_bw()
## Picking joint bandwidth of 133000

Berdasarkan plot ridgeline ini semakin jelas bahwa Kota Medina memiliki harga rumah yang secara umum lebih mahal dibandingkan kota-kota lainnya. Namun informasi harga rumah termahal yang ada di kota Seatle tidak tertangkap disini.

D. Visualisasi Jumlah

D.1 Bar Plot

Plot yang paling sering digunakan memandingkan jumlah dari beberapa kategori adalah bar plot atau bar chart atau diagram batang. Dalam package ggplot2 bar plot ini bisa ditampilkan menggunakan geom_bar atau geom_col. Perbedaan mendasar dari kedua fungsi itu adalah data yang perlu disediakan. Fungsi geom_bar hanya membutuhkan satu kolom saja (dengan tipe data character atau factor), sedangkan geom_col membutuhkan dua kolom data yaitu nama kategori dan jumlah setiap kategori.

data_house%>%count(city)%>%
  ggplot()+
  geom_col(aes(x=fct_reorder(as.factor(city),n),y=n), fill="steelblue", 
           width=0.4) +
    scale_y_continuous(expand = c(0,0))+
    coord_flip() +
    ggtitle("Jumlah Rumah Setiap Kota") +
    xlab("") +
    ylab("Jumlah Rumah") +
    theme(plot.title = element_text(hjust = 0.5))+
    theme_classic()

fungsi fct_reorder digunakan untuk mengurutkan kategori berdasarkan nilai tertentu. Kemudian, sintaks scale_y_continuous(expand = c(0,0)) digunakan agar barplot dimulai dari nol. Fungsi coord_flip digunakan untu menukar sumbu x dan sumbu y.

D.2 Lolipop Chart

Plot alternative dari bar chart adalah lolipop chart. Seperti namanya plot ini terinspirasi dari permen lolipop. Untuk membuat plot ini dibutuhkan dua fungsi yaitu geom_segment dan juga geom_point.

Fungsi geom_segment digunakan untuk menggambarkan garis sedangkan fungsi geom_point digunakan untuk menggambarkan titik.

data_house%>%count(city)%>%
  mutate(city=fct_reorder(as.factor(city),desc(n)))%>%
  ggplot()+
  geom_segment(aes(x=city,xend=city, y=0, yend=n), color="skyblue")+
  geom_point(aes(x=city,y=n),color="steelblue", size=2)+ 
    scale_y_continuous(expand = c(0,0))+
    coord_flip() +
    ggtitle("Jumlah Rumah Setiap Kota") +
    xlab("") +
    ylab("Jumlah Rumah") +
    theme(plot.title = element_text(hjust = 0.5))

E. Visualisasi Korelasi

E.1 Diagram Pencar

Korelasi atau hubungan dari dua peubah bisa kita visualisasikan menggunakan scatterplot. Jika scatterplot membentuk pola garis maka bisa dikatakan bahwa kedua peubah tersebut memiliki korelasi yang kuat.

ggplot(data_house) +
  geom_point(aes(x = sqft_living,y = price),color="steelblue",size=2) +
  ggtitle("Scatter Plot Harga Rumah vs Luas Rumah") +
  ylab("Luas Rumah") +
  xlab("Harga Rumah") + 
  theme(plot.title = element_text(hjust = 0.5))

E.2 Correlogram

Penggunaan scatterplot memiliki keterbatasan jika korelasi peubah yang ingin dilihat ada banyak. Coreelogram bisa digunakan untuk mengatasi hal tersebut. Correlogram ini membuat grafik berdasarkan nilai koefisien korelasi yang dikonversikan dalam bentuk warna.

GGally::ggcorr(data_house, method = c("everything","pearson"),geom = "tile") 
## Warning in GGally::ggcorr(data_house, method = c("everything", "pearson"), :
## data in column(s) 'date', 'street', 'city', 'statezip', 'country' are not
## numeric and were ignored

E.2 Plot Interaktif

Bagian terakhir ini kita akan membuat plot interaktif dari grafik ggplot yang sudah dibuat. Untuk membuat plot interaktif dari ggplot2 kita bisa menggunakan fungsi ggplotly yang berasal dari package plotly.

p1 <- ggplot(data_house) +
  geom_point(aes(x = sqft_living,y = price),color="steelblue",size=2) +
  ggtitle("Scatter Plot Harga Rumah vs Luas Rumah") +
  ylab("Luas Rumah") +
  xlab("Harga Rumah") + 
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(p1)

Tugas

Ketentuan

  1. Anda akan terbagi menjadi Kelompok Kecil (Kode 1,2,3, …) dan Kelompok Besar (A, B, C, …).

  2. Setiap Kelompok Kecil terdiri dari 2 orang.

  3. Setiap Kelompok Besar terdiri dari 2 Kelompok Kecil.

  4. Untuk Kelompok Kecil, silahkan Anda tentukan bersama-sama rekan Anda, laporkan ke Saya via PJ Kelas, paling lambat 1 x 24 jam dari jam Praktikum selesai.

  5. Kelompok Besar, akan saya tentukan dan disampaikan pada 9 Maret 2021 pukul 00.01 via NewLMS.

Materi Tugas

Tugas Pertama untuk masing-masing Kelompok Kecil

  1. Buat suatu Visualisasi Data, (data dari datasets di R, dengan catatan bahwa Visualisasi Data tersebut MELANGGAR 6 Prinsip dari Desain (ACCENT).

  2. Buat dalam rmarkdown, yang berisi syntax graphic, dan Catatan Pelanggaran.

  3. Upload dalam NewLMS berupa html paling lambat 8 Maret 2021 pukul 23.59 WIB, jangan lupa ditaruh di Rpubs masing-masing.

Tugas Kedua untuk dikerjakan masing-masing Kelompok Kecil

  1. Perbaiki Visualisasi Data dari Rekan Anda di Kelompok Kecil lain dari Kelompok Besar Anda.

  2. Berikan Catatan Perbaikan untuk masing-masing prinsip.

Tugas Ketiga untuk dikerjakan dalam Kelompok Besar

  1. Diskusikan Perbaikan yang telah dilakukan dalam kelompok besar Anda dengan cara membandingkan antara Catatan Pelanggaran dan Catatan Perbaikan. Sehingga ada 3 Catatan untuk masing-masing Prinsip Desain ACCENT, yaitu Catatan Pelanggaran, Catatan Perbaikan dan Perbandingan

  2. Upload dalam NewLMS berupa html paling lambat 12 Maret 2021 pukul 07.00 WIB, pilih opsi republish di Rpubs masing-masing.

  3. Dalam Tugas 2 dan 3 ini, silahkan Anda melanjutkan dari Rmarkdown yang Anda buat sebelumnya. pada YAML bagian author, Anda gunakan seperti berikut ini

author:
  - Nama 1 ^[Afiliasi, Alamat - email]
  - Nama 2 ^[Afiliasi, Alamat - email]
  - Nama 3 ^[Afiliasi, Alamat - email]
  - Nama 4 ^[Afiliasi, Alamat - email]

Catatan Tambahan

  1. Jika Anda menggunakan referensi dari suatu sumber, harap dimasukkan sebagai referensi dalam Dokumen rmarkdown Anda.

  2. Jika dalam Kelompok Anda tidak sepakat dalam suatu bahasan, Anda bisa mencatat ketidak-sepakatan itu dalam tugas yang Anda Laporkan.

  3. Untuk Tugas Pertama : Konten dari html yg diupload dari 2 orang di kelompok kecil yang sama adalah sama.

  4. Untuk Tugas Kedua dan Ketika : Konten dari html yang diupload dari 2 orang di kelompok kecil dan besar yang sama adalah sama.

References


  1. Badan Informasi Geospasial, ↩︎