Anda di halaman 1dari 29

Pengantar Pemrograman R

Bagian I

Oleh:
Muhammad Imran
imran273@gmail.com
Tutorial ini akan terbagi menjadi 4 bagian Utama
• Bagian I: Menulis Kode, Debug dan menulis paket di Rstudio
• Bagian II: Penggunaan Shiny di Rstudio
• Bagian III: Penggunaan Markdown R
• Bagian IV: Implementasi Rstudio di data sains
Buku – Buku Rekomendasi Untuk Memperdalam R
Download Rstudio

https://www.rstudio.com/products/rstudio/download/#download
Rstudio ada 3 jenis:
Menulis Kode di RStudio
Menulis Kode di Rstudio – Create New Project
Rstudio – Hello World
Source code:

paste (“hello”, “R Programmer”)


Rstudio – Basic Data Visualization ggplot2
Keunggulan ggplot:
• Konsisten mendasari tata bahasa grafik
• Plot spesifikasi pada high level abstraksi
• Sangat fleksibel dalam menampilkan data
• Sistem Temaik untuk memoles tampilan plot
• Pilihan sistem grafis yang lengkap
• Banyak pengguna, milis aktif, sehingga jika ingin belajar, bisa
mendapatkan sumber-sumber yang update
Rstudio – Basic Data Visualization
Rstudio – Apakah Grammar Of Graphics?
Secara independen menentukan blok- blok data dan menggabungkannya
untuk menciptakan tampilan grafis apa pun yang Anda inginkan. Blok data
dari suatu grafik meliputi:
• data
• aesthetic mapping
• geometric object
• statistical transformations
• scales
• coordinate system
• position adjustments
• faceting
Rstudio – Basic Data Visualization ggplot2
Ggplot berguna tntuk menampilkan nilai data, memetakan
variabel dalam kumpulan data
Untuk sifat estetika geom seperti ukuran, warna,
dan lokasi x dan y.
Untuk membuat grafik plot seperti disamping, menggunakan :
ggplot() atau qplot()
Contoh source code:
Rstudio – Basic Data Visualization ggplot2
Beberapa plot berfunsgi memvisualisasikan transformasi
kumpulan data asli.
Gunakan “stat” untuk memilih transformasi umum untuk
dipvisualisasikan,
misalnya a + geom_bar (stat = "bin")
Setiap stat menciptakan variabel tambahan untuk memetakan
data
Contoh Source Code:
1D distributions
a + stat_bin(binwidth = 1, origin = 10)
x, y | ..count.., ..ncount.., ..density.., ..ndensity..
a + stat_bindot(binwidth = 1, binaxis = "x")
x, y, | ..count.., ..ncount..
a + stat_density(adjust = 1, kernel = "gaussian")
x, y, | ..count.., ..density.., ..scaled..
Rstudio – Basic Data Visualization ggplot2
2D distributions Contoh Source Code:
f + stat_bin2d(bins = 30, drop = TRUE)
x, y, fill | ..count.., ..density..
f + stat_binhex(bins = 30)
x, y, fill | ..count.., ..density..
f + stat_density2d(contour = TRUE, n = 100)
x, y, color, size | ..level..

3 Variables Contoh Source Code:


m + stat_contour(aes(z = z))
x, y, z, order | ..level..
m+ stat_spoke(aes(radius= z, angle = z))
angle, radius, x, xend, y, yend | ..x.., ..xend.., ..y.., ..yend..
m + stat_summary_hex(aes(z = z), bins = 30, fun = mean)
x, y, z, fill | ..value..
m + stat_summary2d(aes(z = z), bins = 30, fun = mean)
x, y, z, fill | ..value..
Rstudio – Basic Data Visualization ggplot2
Rstudio – Basic Data Visualization ggplot2
Rstudio – Basic Data Visualization ggplot2
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Contoh Dataset: https://goo.gl/J8Xgpd extract data tersebut dan simpan di folder desktop

Secara step by step kita akan mencoba membuat visualisasi data seperti berikut:
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Buka Rstudio dan buat “New Project” dengan nama “Harga Rumah Vs Harga Tanah”
Pada Rstudio console, ketik:
Getwd()
Lalu dia akan menunjukan lokasi dimana folder proyek Rstudio berada. Kemudian copy-paste file “landdata-
states.csv” pada folder proyek tersebut. Lalu kita lanjutkan code kita:
setwd("<lokasi folder dataset proyek>")
head(housing[1:5])
Di console, hasilnya kita akan melihat tabel data sebagai berikut:
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Kita lanjutkan code kita, di console Rstudio kita ketik:
hist(housing$Home.Value)
Maka akan menunjukan grafik batang seperti di samping
kanan kita

Kita mulai menggunakan ggplot. Coba kita ketik di console,


code sebagai berikut:
library(ggplot2) ggplot(housing, aes(x = Home.Value)) +
geom_histogram()

Code diatas akan mengubah grafik batang kita menjadi


seperti grafik di kanan
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Mari kita bikin grafik yang lebih kompleks. Kembali ke
console kita, dan lanjutkan dengan code sebagai berikut:
plot(Home.Value ~ Date, data=subset(housing, State ==
"MA")) points(Home.Value ~ Date, col=“blue",
data=subset(housing, State == "TX")) legend(1975, 400000,
c("MA", "TX"), title="State", col=c("black", "red"), pch=c(1,
1))
Code diatas akan menampilkan grafik dikanan

Jika kita ingin menyimpan grafik hasil code kita, bisa dengan
mengklik “export” pada bagian visualisasi data di Rstudio.
Grafik kita bisa disimpan sebagai:
- Image
- Pdf
- Copy to clipboard
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Untuk percobaan ggplot selanjutnya kita akan mencoba
mengubah grafik mejadi ra[at dengan code sebagai berikut:
ggplot(subset(housing, State %in% c("MA", "TX")),
aes(x=Date, y=Home.Value, color=State))+ geom_point()
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Geometric Objects Dan Aesthetics

Dalam ranah “estetika ggplot” bisa diartikan "sesuatu yang


bisa Anda lihat". Contohnya meliputi:

posisi (yaitu, pada sumbu x dan y)


warna ("luar" warna)
isi ("di dalam" warna)
bentuk (titik)
jenis garis
ukuran
Contoh Code di R:

hp2001Q1 <- subset(housing, Date == 2001.25) ggplot(hp2001Q1,


aes(y = Structure.Cost, x = Land.Value)) +
geom_point()
Ia akan menampilkan grafik seperti di kanan
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Lines (Prediction Line)

Sebuah plot yang dibangun dengan ggplot bisa memiliki lebih


dari satu geom. Dalam hal ini pemetaan yang dibuat dalam
ggplot () call adalah default plot yang dapat ditambahkan atau
diganti. Pada plot bisa menampilkan garis regresi, dengan code
seperti berikut:

hp2001Q1$pred.SC <- predict(lm(Structure.Cost ~


log(Land.Value), data = hp2001Q1))
p1 <- ggplot(hp2001Q1, aes(x = log(Land.Value), y =
Structure.Cost))
p1 + geom_point(aes(color = Home.Value)) + geom_line(aes(y =
pred.SC))

Code diatas akan menapilkan grafik dengan garis regresi sperti


Grafik di samping kanan
Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Smoothers

Grafik yang dihasilkan dengan garis regresi sebelumnya, belum


bisa memperlihatkan pola dengan tegas dari trend data yg kita
miliki. Untuk itu, kita bisa menggunakan code sebagai berikut:

p1 + geom_point(aes(color = Home.Value))
+ geom_smooth()

Ia akan menampilkan data dengan regresi yang lebih


Memperlihatkan sebuah pola.

Yang tampak pada grafik di samping kanan atas. Dan jika kita ingin
menampilkan data dari titik – titik tersebut, gunakan code:

p1 + geom_text(aes(label=State), size = 3)

Code diatas akan menampilkan grafik seperti di kanan bawah


Rstudio – Visualisasi Harga Tanah Vs harga Rumah
Untuk selanjutnya, kita perlu menginstal paket ggrepel di Rstudio
dengan. Code sebagai berikut:
install.packages("ggrepel")

Lalu selanjutnya kita lanjut dengan code sebagai berikut:

library("ggrepel")
p1 +
geom_point() + geom_text_repel(aes(label=State), size = 3)

Code diatas akan menampilan grafik seperti di kanan atas.

Grafik-grafik yang sudah kita tampilkan, sudah cukup


menampilkan data, namun kurang memberikan gambaran. Kita
bisa nemabahkan berbasis regional. Dengan code sebagai berikut:

p1 + geom_point(aes(color=Home.Value, shape = region))

Ia akan menampilkan grafik seperti di kanan bawah


Facebook Data Mining Using R Programming

Akses Token:
https://developers.facebook.com/tools-and-support/
Facebook Data Mining Using R Programming
Buka Rstudio, lalu ketik source code berikut:

install.packages("Rfacebook")
install.packages("httpuv")
install.packages("RColorBrewer")
install.packages("RCurl")
install.packages("rjson")
install.packages("httr")
library(Rfacebook)
library(httpuv)
library(RColorBrewer)
myaccess_token="Masukan Token Anda”
Lanjut source code diatas :
options(RCurloptions=list(verbose=FALSE, capath=system.file))
options(RCurloptions=list(verbose=FALSE, capath=system.file("Curlssl",
"cacert.pem", package = "RCurl")))
me<- getUsers("me", token = myaccess_token)
my_friends <- getFriends(token=myaccess_token, simplify = F)
str(my_friends)
Facebook Data Mining Using R Programming

Anda mungkin juga menyukai