Visualisasi Menggunakan ggplot (R)

MATIIN LAUGIWA PRAWIRA PUTRA
3 min readApr 12, 2019

--

Kali ini saya akan menunjukan tutorial sederhana dalam membuat visualisasi data menggunakan sofware R menggunakan packages “ plotly” dan “ggplot2”

Apa itu data visualisasi ?

Tujuan utama dari visualisasi data adalah untuk mengkomunikasikan informasi secara jelas dan efisien kepada pengguna lewat grafik informasi yang dipilih, seperti tabel dan grafik. (wikipedia)

ada banyak sekali cara untuk memvisualkan data pada program R salahsatunya menggunakan packages “ggplot2” yang berguna untuk membuat data visual yang elegant dan berwarna sedangkan packages “plotly” berguna untuk membuat visualisasi data agar terlihat lebih interaktif dan menarik, selain itu tips yang saya berikan adalah dengan mencari insight of data menggunakan packages “dplyr” packages tersebut adalah salah satu packages yang digunakan dalam data mining yang sederhana namun sangat powerfull untuk mendeskripsikan sebuh data.

beberapa library yang harus sudah terinstall adalah sebagai berikut

library(ggplot) 
library(plotly)
library(dplyr)

Langkah pertama !

kalian dapat mengakses data disini (dataset: http://bit.ly/gapminderinR) data tersebut merupakan data yang terdiri dari 4 sheet yaitu region, life pop, dan gdp. bisa kita lihat data tersebut berstuktur data cross section dan time series yang bisa disebut data panel.

gunakan sscript berikut untuk memulai running data

library(openxlsx)
gdp <- read.xlsx(“gapminer.xlsx”, sheet = 1, startRow = 1, colNames = T)
# Country Vector Column
country_vec <- gdp[,1]
head(country_vec)
country_panel <- c()
for (i in 1:170)
{
x = rep(country_vec[i], 47)
country_panel <- append(country_panel, x)
}
years_panel <- rep(1970:2016, 170) # Years Vector Column
# GDP Vector Column
gdp_panel <- c()
for (i in 1:170)
{
x = gdp[i,]
x = x[-c(1:3)]
x = t(x)
gdp_panel = append(gdp_panel, x)
}
head(gdp_panel)

dengan cara yang sama buat vektor kolom untuk setiap variabel dan buat setiap data menjadi sebuah data frame

df <- data.frame(country_panel, years_panel, gdp_panel, populasi_panel, life_panel)

Langkah kedua !

langkah selanjutnya adalah setelah membuat data tersebut kedalam data frame dengan script dplyr berikut untuk melihat “10 negara dengan nilai rata rata gdp tertinggi”.

df %>%
group_by(country_panel) %>%
summarise(mean_gdp = mean(gdp_panel)) %>%
arrange(desc(mean_gdp)) %>%
head(.,n=10) %>%

maka kita akan memiliki nilai 10 negara dengan tingkat rata-rata gdp tertinggi. setelah itu bentuk visusalisasinya dengan menggunakan ggplot2 dengan menggunakan script berikut

ggplot() +
geom_bar(aes(x = reorder(country_panel, -mean_gdp), y=mean_gdp, fill = country_panel), stat =”identity”) +
geom_label(aes(x =reorder(country_panel, -mean_gdp), y=mean_gdp, label = round(mean_gdp, digits = 2))) +
guides(fill = FALSE) +
labs(title = “Top 10 Country by Mean GDP”, x = “Mean GDP”, y = “Country”) +
theme(axis.text.x = element_text(size = 10, angle = 45, hjust = 1))

maka akan muncul hasik visualisasi sebegai berikut untuk 10 nilai rata rata gdp tertinggi

Langkah ketiga !

langkah ketiga asay ingin melihat pergerakan nilai gdp dari setiap negara dari tahun ketahun dengan menggunakan grafik bergerak yang tersedia dalam ggplot2 dengan mengubah keseluruhan variabel yang akan kira gunakan menjadi data frame dengan menggunakan script sebagai berikut

gapminder_frame <- data.frame(region_panel,country_panel, years_panel, gdp_panel, pop_panel, life_panel)
View(gapminder_frame)

setelah mengubah data menjadi dat frame maka yang dilakukan selanjutnya adalah membuat visualdata bergerak atau yang biasa di sebut gif dengan menggunakan script dengan menggunakan script sebagai berikut

gap <- ggplot(gapminder_frame, aes(x = log(gdp_panel), y = life_panel, color = country_panel)) + geom_point(aes(shape = region_panel,size = pop_panel,frame = years_panel))
gap
ggplotly(gap)

dimana dalam script untuk membuat visual data bergerak dengan menggunakan ggplolt di jelaskan sebagai berikut

gap <- ggplot("nama data frame", aes(x = log("variabel x"), y = "variabel y", color = "warna berdasarkan nama negara")) + geom_point(aes(shape = "bentuk berdasarkan benua",size = "ukuran berdasarkan jumlah populasi",frame = "tahun observasi"))
gap

selanjutnya membuat visualisasi bergerak dengan ggplot dengan menggunakna script

ggplotly(gap)

maka akan muncul visualisasi final sebagai berikut

sumber :

https://www.youtube.com/watch?v=TSsIJasZU8k

--

--