Mengenal bahasa R
Dr. Rukman Hertadi
Tentang R
· R adalah perangkat lunak yang dibuat untuk menangani pengolahan data statistik dan
visualisasi gra k
· R base dapat diunduh di https://cran.r-project.org/bin/windows/base/
· Untuk memudahkan koding dengan R, dapat digunakan R Studio yang dapat diperoleh di
https://www.rstudio.com/products/RStudio/
2/98
Tampilan dasar R Studio
3/98
Configuring R to Use an HTTP or HTTPS Proxy
Pada konsol ketikan perintah berikut:
file.edit('~/.Renviron')
options(internet.info = 0)
http_proxy=http://cache.itb.ac.id:8080
http_proxy_user=user:passwd
https_proxy=https://cache.itb.ac.id:8080
https_proxy_user=user:passwd
4/98
Setting your working directory
Langkah pertama sebelum membuat program biasakan menyiapkan terlebih dahulu direktori
kerja tempat menampung semua program.
Untuk menset direktori kerja yang akan digunakan pada R Studio, pilih menu Session,
kemudian pilih Set Working Directory, selanjutnya pilih Choose Directory.
#Untuk Mac
setwd("~/mydirectory")
#Untuk Windows
setwd("C:/Sharon/Documents/RProjects")
5/98
Installing and using packages
R telah dilengkapi dengan berbagai paket (library) yang berisi fungsi-fungsi khusus, misalkan
untuk pengolahan gra k, statistik dll.
Window Packages pada R Studio menampilkan paket apa saja yang telah terinstall.
install.packages("thepackagename")
Untuk keperluan praktikum, install paket ggplot2, reshape2, cowplot, pid, rsm, rmarkdown,
knitr.
6/98
Aplikasi R
7/98
R Sebagai kalkulator
2+2
## [1] 4
exp(10)
## [1] 22026.47
rnorm(15)
8/98
R untuk pemrograman
· Contoh pemrograman sederhana
## [1] 4
x^3 #X pangkat 3
## [1] 8
## [1] 0.30103
9/98
Fungsi R: Membuat grafik
library(ggplot2)
set.seed(1)
df <- data.frame(PF = 10*rnorm(1000))
ggplot(df, aes(x = PF)) +
geom_histogram(aes(y =..density..),
breaks = seq(-40, 40, by = 5),
colour = "black",
fill = "white") +
stat_function(fun = dnorm, args =
list(mean = mean(df$PF),
sd = sd(df$PF)), color = "red") +
xlim(-40,40) +
theme_classic()
10/98
Strukur data R
11/98
Struktur data di R
1. Vektor
2. Matriks
3. List
4. Data Frame
5. Faktor
· Untuk memeriksa tipe struktur data dapat dilakukan dengan fungsi class()
12/98
1. Vektor
13/98
Vektor
· Vektor adalah struktur data paling dasar di R.
· Tipe vektor bisa numerik (integer, double), logika, karakter dll
14/98
Membuat vektor dengan Fungsi c
· Fungsi c singkatan dari concatenate atau menggabungkan. Jadi fungsi ini hanya digunakan
untuk menggabungkan lebih dari satu data. Data tunggal tidak perlu menggunakan fungsi c.
· Contoh:
## [1] 3.5
## [1] 42 57 12 39 1 3 4
15/98
Membuat vektor dengan menggunakan operator
x <- 1:7; x
## [1] 1 2 3 4 5 6 7
y <- 2:-2; y
## [1] 2 1 0 -1 -2
16/98
Membuat vektor dengan fungsi seq()
· Fungsi seq() digunakan untuk membuat urutan data numerik dengan beda tetap.
· Contoh:
## [1] 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0
d <- seq(0, 10, 2); d #menyimpan data 0 - 10 dengan dengan nilai selisih 2
## [1] 0 2 4 6 8 10
17/98
Membuat vektor dengan fungsi rep()
· Fungsi rep (replicate) digunakan untuk membuat data berulang.
· Contoh:
x<-c(1,2,3)
rep(x,3) #semua nilai pada x, diulang 3 kali
## [1] 1 2 3 1 2 3 1 2 3
## [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
18/98
Mengakses elemen pada vektor dengan indeks
Mengakses elemen pada vektor dilakukan dengan menggunakan indeks. Indeks sendiri dapat
berupa bilangan bulat dimulai dari angka 1,2,3 dst. bisa juga berupa logika, atau karakter.
Contoh:
## [1] 8
## [1] 5 10
## [1] 5 8 10 23
19/98
Memodifikasi vektor
x <- c(2, 5, 8, 10, 23)
x[2] <- 7; x #mengubah elemen ke-2
## [1] 2 7 8 10 23
## [1] 4 4 8 10 23
## [1] 4 4 8 10
20/98
Menghapus vektor
x <- c(2, 5, 8, 10, 23); x
## [1] 2 5 8 10 23
x <- NULL; x
## NULL
21/98
2. Matriks
22/98
Matriks
· Matriks adalah struktur data dua dimensi dalam pemrograman R
· Matriks mirip dengan vektor tetapi memiliki atribut tambahan. Semua atribut dari suatu
objek dapat ditampilkan dengan fungsi attribute().
· Untuk mengecek ukuran dimensi matriks bisa dilakukan dengan fungsi dim().
· Untuk mengecek apakah suatu variabel merupakan matriks atau bukan dengan fungsi
class()
23/98
Membuat matriks dengan fungsi matrix()
· Matriks dapat dibuat dengan fungsi matrix().
· Dimensi dari matriks ditetapkan melalui nilai argumen nrow dan ncol.
· Contoh:
set.seed(123)
x <- rnorm(n = 9, mean = 5, sd = 1)
round(x,2)
## [1] 4.44 4.77 6.56 5.07 5.13 6.72 5.46 3.73 4.31
· Contoh:
set.seed(123)
x <- rnorm(n = 9, mean = 5, sd = 1)
round(x,2)
## [1] 4.44 4.77 6.56 5.07 5.13 6.72 5.46 3.73 4.31
25/98
Membuat matriks dengan fungsi matrix()
· Bisa juga memberikan nama pada baris dan kolom untuk matriks dengan menambahkan
nilai pada argumen dimnames.
· Nama baris dan kolom dapat ditampilkan dengan fungsi rownames() dan colnames()
## A B C
## X 1 4 7
## Y 2 5 8
## Z 3 6 9
rownames(x)
26/98
Membuat matriks dengan fungsi dim()
Vektor bisa diubah menjadi maktriks dengan fungsi dim(). Contoh:
x <- c(1,2,3,4,5,6)
class(x)
## [1] "numeric"
class(x)
## [1] "matrix"
27/98
Membuat matriks dengan fungsi cbind() dan
rbind()
cbind(c(1,2,3),c(4,5,6)) #menyusun nilai ke arah kolom
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
28/98
Mengakses elemen matriks dengan indeks
x <- matrix(1:9, nrow = 3, dimnames = list(c("X","Y","Z"), c("A","B","C")));x
## A B C
## X 1 4 7
## Y 2 5 8
## Z 3 6 9
x[2,3] #menampilkan elemen pada posisi baris ke-2 dan kolom ke-3
## [1] 8
x[c(1,2), c(2,3)] #menampilkan elemen pada baris ke 1 & 2 yg berada pada kolom ke 2 & 3
## B C
## X 4 7
## Y 5 8
29/98
Modifikasi matriks dalam R: tambah kolom/baris
x <- matrix(1:9, nrow = 3); x
30/98
3. List
31/98
List
· List adalah struktur data pada R yang memiliki komponen campuran tipe data.
x <- list("a" = 2.5, "b" = TRUE, "c" = 1:3);x # membuat list dengan 3 komponen
## $a
## [1] 2.5
##
## $b
## [1] TRUE
##
## $c
## [1] 1 2 3
32/98
Mengakses komponen dalam list
x <- list(name = "John", age = 19, speaks = c("English", "French"))
x[c(1:2)] # menampilkan komponen ke-1 & 2
## $name
## [1] "John"
##
## $age
## [1] 19
## $name
## [1] "John"
##
## $speaks
## [1] "English" "French"
33/98
Mengakses isi data komponen list
Isi data komponen list dapat diakses dengan menggunakn [[ atau $
## [1] 19
34/98
Menambah komponen pada list
x <- list(name = "John", age = 19, speaks = c("English", "French"))
x[["married"]] <- FALSE; x # menambahkan komponen status pernikahan
## $name
## [1] "John"
##
## $age
## [1] 19
##
## $speaks
## [1] "English" "French"
##
## $married
## [1] FALSE
35/98
Menghapus komponen pada list
x <- list(name = "John", age = 19, speaks = c("English", "French"))
x[["age"]] <- NULL; x
## $name
## [1] "John"
##
## $speaks
## [1] "English" "French"
36/98
4. Data frame
37/98
Data Frame
· Data frame adalah struktur data dua dimensi dalam R.
· Data frame adalah bentuk struktur data list yang memiliki panjang data yang sama pada
setiap komponenya.
· Setiap komponen akan membentuk kolom dan isi dari tiap komponen ada pada baris.
## SN Age Name
## 1 1 21 John
## 2 2 15 Dora
## [1] "data.frame"
38/98
Membuat data frame dari vektor
S <- c(0, 0.2, 0.4, 0.6, 0.8, 1.0)
V <- c(0, 15, 28, 29, 30, 30)
KE <- data.frame(S, V); KE
## S V
## 1 0.0 0
## 2 0.2 15
## 3 0.4 28
## 4 0.6 29
## 5 0.8 30
## 6 1.0 30
39/98
Membuat data frame dari file
· Untuk membaca data dari le digunakan fungsi read.table()
## cons A
## 1 0.0 0.000
## 2 0.5 0.020
## 3 1.0 0.025
## 4 1.5 0.029
## 5 2.0 0.036
## 6 2.5 0.040
## 7 3.0 0.045
40/98
Mengakses komponen data frame: metode list
Mengakses data frame dengan metode list dapat dilakukan dengan operator [, [[ atau $.
x["name"] x[["name"]]
x$name
41/98
Mengakses komponen data frame: metode matriks
S <- c(0, 0.2, 0.4, 0.6, 0.8, 1.0)
V <- c(0, 15, 28, 29, 30, 30)
KE <- data.frame(S, V)
KE[2,] # komponen pada baris ke-2 KE[,1, drop = FALSE] # komponen pada kolom ke-1
## S V ## S
## 2 0.2 15 ## 1 0.0
## 2 0.2
## 3 0.4
KE[1:3,] # komponen pada baris 1 sd 3.
## 4 0.6
## 5 0.8
## S V ## 6 1.0
## 1 0.0 0
## 2 0.2 15
## 3 0.4 28
42/98
Modifikasi data frame: ubah data
S <- c(0, 0.2, 0.4, 0.6, 0.8, 1.0) KE[2,"V"] <- 13; KE
V <- c(0, 15, 28, 29, 30, 30)
KE <- data.frame(S, V); KE
## S V
## 1 0.0 0
## S V ## 2 0.2 13
## 1 0.0 0 ## 3 0.4 28
## 2 0.2 15 ## 4 0.6 29
## 3 0.4 28 ## 5 0.8 30
## 4 0.6 29 ## 6 1.0 30
## 5 0.8 30
## 6 1.0 30
43/98
Modifikasi data frame: tambah data
Tambah baris Tambah kolom
rbind(KE, c(2.0, 30)) cbind(KE, V2 = c(0, 12, 25, 35, 37, 37))
## S V ## S V V2
## 1 0.0 0 ## 1 0.0 0 0
## 2 0.2 13 ## 2 0.2 13 12
## 3 0.4 28 ## 3 0.4 28 25
## 4 0.6 29 ## 4 0.6 29 35
## 5 0.8 30 ## 5 0.8 30 37
## 6 1.0 30 ## 6 1.0 30 37
## 7 2.0 30
44/98
Modifikasi data frame: hapus data
KE
## S V
## 1 0.0 0
## 2 0.2 13
## 3 0.4 28
## 4 0.6 29
## 5 0.8 30
## 6 1.0 30
## S V
## 3 0.4 28
## 4 0.6 29
## 5 0.8 30
## 6 1.0 30
45/98
Dasar pemrograman dengan R
46/98
Variabel
· Fondasi dari pemrograman adalah penggunaan variabel (alokasi memori penyimpan data)
dan pemberian nilai pada variabel.
· Pemberian nilai (assignment) pada variabel dalam bahasa R dilakukan dengan tanda (<-).
· Tanda titik koma (;) diperlukan bila dua pernyataan dituliskan dalam satu baris. Tapi tidak
diperlukan bila pernyataan ditulis dalam baris yang berbeda.
· Untuk memperjelas program, pada akhir pernyataan ditambahkan keterangan dengan
mengawali dengan tanda #. Contoh:
## [1] 15
47/98
Operator aritmatika
Berikut adalah operator aritmatika dasar pada R
OPERATOR FUNGSI
+ penjumlahan
- pengurangan
* perkalian
/ pembagian
^ pemangkatan
x <- 2
y <- -5
z <- 6
(x + y^2) * z/x
## [1] 81
48/98
Operator logika dan hubungan
Operator logika dan hubungan digunakan bila program ingin dieksekusi untuk kondisi tertentu.
Operator logika diberikan pada tabel berikut:
OPERATOR FUNGSI
& dan
! not
== sama dengan
49/98
Seleski kondisi
· Operator logika biasanya digunakan pada q <- 3
## [1] 8
50/98
Seleksi kondisi
a <- 2
b <- 3
c <- 4
#Using and to test two conditions, both true
if (a < b & b < c) {x <- a + b + c}; x
## [1] 9
## [1] 24
51/98
Pengulangan proses
· for digunakan bila dalam program y <- vector(mode="numeric")
52/98
Pengulangan bertingkat
· for dapat digunakan untuk proses pengulangan bertingkat, seperti pada pembuatan
matriks.
53/98
Pengulangan dengan while
· Pengulangan proses dengan while x<-0
54/98
Fungsi
· Fungsi adalah modul yang berisi kode untuk melaksanakan proses tertentu dan
menampilkan hasilnya.
· Fungsi dibuat dengan bentuk pernyataan: functionName = function(arg1, arg2 ...)
{do this }
pangkat = function(x, y)
{
hasil = x^y
return(hasil)
}
## [1] 32
55/98
Fungsi return()
Fungsi return() diperlukan untuk menampilkan hasil dari proses dalam fungsi.
Kondisi-1: hasil langsung ditampilkan tanpa Kondisi-2: hasil baru ditampilkan setelah
mengecek seluruh kondisi seluruh kondisi diperiksa
## [1] "positive"
## [1] "positive"
56/98
Contoh fungsi
#Fungsi menggunakan return #Fungsi menggunakan cat
f1 = function(x, y) f2 = function(x, y)
{ {
z1 = 2*x + y; z1 = 2*x + y;
z2 = x + 2*y; z2 = x + 2*y;
return(list(r1 = z1, r2 = z2)); cat("z1 = 2x + y =",z1,"\n",
} "z2 = x + 2y =",z2);
}
f1(2,5)
f2(2,5)
## $r1
## [1] 9 ## z1 = 2x + y = 9
## ## z2 = x + 2y = 12
## $r2
## [1] 12
57/98
Fungsi penentuan akar kuadrat
58/98
Fungsi penentuan akar kuadrat
abc = function(a, b, c) {
cat("Solusi persamaan ",a,"x^2 +",b,"x +",c,"= 0\n");
D = b^2 - 4*a*c;
if (D == 0) {
x = -b/(2*a);
cat("Solusi akar kuadrat adalah sama, yaitu",x)
} else if (D > 0) {
x1 = (-b + sqrt(D))/(2*a); x2 = (-b - sqrt(D))/(2*a);
cat("Solusi akar kuadrat adalah",x1,"dan",x2);
} else {
print("Solusi akar kuadrat bersifat imajiner")
}
}
abc(1, -5, 6) #Contoh penggunaan fungsi
59/98
Fungsi faktorial
faktorial = function(x)
{
f = 1;
if (x == 0) {
f = 1;
} else if (x > 0) {
for (i in 1:x) {
f = f * i;
}
} else {
return("Input nilai tidak boleh negatif!")
}
print(f);
}
faktorial(4) #memanggil fungsi faktorial
## [1] 24
60/98
Menghitung nilai integral batas
· Nilai integral batas dapat ditentukan dengan metode kotak
b n
∗ ∗ ∗ ∗
f (x)dx ≈ f (x )Δx + f (x )Δx + ⋯ + f (xn )Δx = f (x ) Δx
1 2 i
∫ ∑
a [ ]
i=1
b − a
∗
Δx = and x = a + iΔx i = 1, 2, 3, . . . , n
i
[ n ]
61/98
Fungsi R untuk menghitung nilai integral batas
#Persamaan untuk menghitung integral dari pers y = x^2 + 1
integral = function(a,b) {
n = 100;
dx = (b - a)/n;
sum = 0;
x = a + dx/2;
for (i in 1:n) {
y = x^2 + 1;
sum = sum + y;
x = x + dx;
}
int = sum * dx;
cat("Nilai integral fungsi f(x) = x^2 + 1 dg batas",a,"dan",b, "=",int);
}
integral(0,1) #Contoh penggunaan fungsi
62/98
Menghitung nilai cosinus dengan deret tak hingga
Nilai cosinus dari sudut radian x dapat dihitung dengan persamaan berikut:
2 4 2n
x x x
n
cos(x) = 1 − − − ⋯ (−1)
2! 4! (2n)!
∞ n 2n
(−1) x
=
∑ (2n)!
n=0
63/98
Fungsi R untuk menghitung nilai cosinus
cosx = function(deg) {
x = pi * deg / 180; #konversi derajat ke radian
n = 1; term = 1; sum = 1;
epsilon = 0.000001;
repeat {
term = -term * x^2 /((2*n - 1)*2*n);
sum = sum + term;
n = n + 1;
if (abs(term) < epsilon) {
break;
}
}
cat("Nilai cos(",deg,") =",sum);
}
cosx(45) #Contoh penggunaan fungsi
64/98
Fungsi bawaan R
Fungsi matematika Fungsi statistik
65/98
Visualisasi data dalam bentuk grafik
66/98
Paket R yang diperlukan
· Periksa apakah paket ggplot2, plyr, ggthemes, dan reshape2 sudah ada dalam
daftar paket.
· Bila belum ada, ketikan perintah berikut pada konsol untuk memasangnya:
- install.packages("plyr")
- install.packages("ggthemes")
- install.packages("reshape2")
67/98
ggplot2
· ggplot2 adalah paket R yang dikembangkan oleh Hadley Wickham untuk menghasilkan
gra k dengan kualitas baik.
· gg dalam ggplot2 berarti Grammar of Graphics, sebuah konsep pembuatan gra k yang
dibuat berdasarkan grammar (tata bahasa)
68/98
1. DATA
69/98
Data
· ggplot hanya mengenali struktur data dalam bentuk data frame
· Ada dua paket R yang sering digunakan untuk memanipulasi data frame, yaitu plyr dan
reshape2
1. ddply
2. llply
3. join
1. melt
2. dcast
3. acast
70/98
plyr: The split-apply-combine strategy for R
· plyr adalah paket R yang digunakan untuk memisahkan data, memanipulasi data dan
menggabungkannya kembali
· Format dasar dari fungsi dalam paket plyr adalah kobinasi dua huruf awal yang dikuti
dengan fungsi plyr(). Huruf awal menyatakan struktur data input dan huruf kedua
menyatakan struktur data output.
1. d = data frame
2. a = array (termasuk matriks)
3. l = list
· Contoh:
- ddply() artinya struktur data input dan output sama-sama data frame
- ldply() artinya struktur data input adalah list, sedangkan outputnya dataframe
71/98
Contoh
library(plyr) ## S cv.A
set.seed(1) ## 1 1 0.45578419
A <- vector(mode = "numeric") ## 2 2 0.22323144
for (i in 1:15) { ## 3 3 0.05570808
A[i] = runif(1, i, i+3) ## 4 4 0.10326160
} ## 5 5 0.08033758
72/98
Transform
transform digunakan untuk memodi kasi
## S A total.A
data frame ## 1 1 1.796526 9.631458
## 2 1 3.116372 9.631458
## 3 1 4.718560 9.631458
library(plyr) ## 4 2 6.724623 21.024838
## 5 2 5.605046 21.024838
set.seed(1) ## 6 2 8.695169 21.024838
A <- vector(mode = "numeric") ## 7 3 9.834026 30.703761
for (i in 1:15) { ## 8 3 9.982393 30.703761
A[i] = runif(1, i, i+3) ## 9 3 10.887342 30.703761
} ## 10 4 10.185359 34.332953
## 11 4 11.617924 34.332953
d <- data.frame(S = rep(1:5, ## 12 4 12.529670 34.332953
each = 3), A) ## 13 5 15.061069 47.522904
dt <- ddply(d, "S", transform, ## 14 5 15.152311 47.522904
total.A = sum(A)) ## 15 5 17.309524 47.522904
73/98
summarise
summarise digunakan untuk memodi kasi
## S total.A mean.A
data frame dan menampilkan hasil ## 1 1 9.631458 3.210486
ringkasnya. ## 2 2 21.024838 7.008279
## 3 3 30.703761 10.234587
## 4 4 34.332953 11.444318
library(plyr) ## 5 5 47.522904 15.840968
set.seed(1)
A <- vector(mode = "numeric")
for (i in 1:15) {
A[i] = runif(1, i, i+3)
}
74/98
The iris dataset
head(iris)
75/98
plyr
ddply(iris, "Species", summarize,
mean.Sep.Wid = mean(Sepal.Width, na.rm = TRUE))
## Species mean.Sep.Wid
## 1 setosa 3.428
## 2 versicolor 2.770
## 3 virginica 2.974
76/98
reshape2: melt & dcast
df <- melt(iris, id.vars = "Species") dcast(df, Species ~ variable, mean)
print(df)
## PF
## 1 -6.26453811
## 2 1.83643324
## 3 -8.35628612
## 4 15.95280802
## 5 3.29507772
## 6 -8.20468384
## 7 4.87429052
## 8 7.38324705
## 9 5.75781352
## 10 -3.05388387
## 11 15.11781168
## 12 3.89843236
## 13 -6.21240581
## 14 -22.14699887
## 15 11.24930918
77/98
## 16 -0.44933609
2. AESTHETICS
78/98
Aesthetics
· aesthetics menerangkan tentang pemetaan data.
library(ggplot2)
myplot <- ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width))
summary(myplot)
80/98
Geom
· geom adalah singkatan dari geometry yang memberikan informasi mengenai pilihan
geometri dari plot.
· Contoh geometri: titik, garis, batang, poligon dll.
· Tabel pilihan fungsi pada geoms:
FUNGSI KETERANGAN
81/98
Basic structure
· Tentukan data dan variabel yang akan
diguakan dalam fungsi ggplot(). Apapun
yang tertulis dalam fungsi ggplot()
bersifat global (berlaku secara
keseluruhan)
· Berikutnya tambahkan fungsi lain secara
berlapis: objek geometri, model statistik
dan paket.
· Contoh:
library(ggplot2)
p <- ggplot(data = iris,
aes(x = Sepal.Length,
y = Sepal.Width)) +
geom_point()
82/98
Estetika geom: menambah ukuran titik
library(ggplot2)
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(size = 3)
83/98
Estetika geom: menambah warna
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point(size = 3)
84/98
Estetika geom: membedakan bentuk titik
ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point(aes(shape = Species), size = 3)
85/98
Contoh komponen estetika lainnya
AESTHETICS KETERANGAN
theme(plot.title = element_text(face = "bold", size = 20)) mengatur ukuran karakter judul grafik secara manual
86/98
4. STATS
87/98
Statistik
ggplot2 memiliki tur untuk menambahkan analisis statistika. Contoh:
88/98
5. FACETS
89/98
Faceting: single column, multiple rows
facet adalah fungsi untuk membuat gra k
kisi. Contoh:
pb <- ggplot(iris,
aes(Sepal.Length,
Sepal.Width,
color = Species)) +
geom_point() +
facet_grid(Species ~ .)
90/98
Faceting: single row, multiple columns
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) + geom_point() +
facet_grid(. ~ Species)
91/98
or just wrap your facets
ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) + geom_point() +
facet_wrap( ~ Species) # notice lack of .
92/98
6. SCALES
93/98
Scale
· Dalam ggplot, scale digunakan untuk pemetaan data pada tampilan estetika. Contohnya
dalam pemetaan warna terhadap data.
· Contoh:
94/98
Pelet warna Brewer
library(RColorBrewer)
display.brewer.all()
95/98
Contoh penggunaan pelet warna Brewer
library(ggplot2)
library(reshape2)
library(RColorBrewer)
df <- melt(iris, id.vars = "Species")
pb <- ggplot(df,
aes(x = Species,
y = value,
fill = variable)) +
geom_bar(stat = "identity",
position = "dodge") +
scale_fill_brewer(palette = "Set1")
pb
96/98
Manual color scale
pc <- ggplot(iris,
aes(x = Sepal.Length,
y = Sepal.Width,
color = Species)) +
geom_point() +
facet_grid(Species ~ .) +
scale_color_manual(
values = c("red",
"green",
"blue"))
97/98
Scale lainnya
FUNGSI 1 FUNGSI 2
scale_x_continuous() scale_y_continuous()
scale_fill_discrete() scale_colour_discrete()
scale_fill_hue() scale_color_hue()
scale_fill_manual() scale_color_manual()
scale_fill_brewer() scale_color_brewer()
scale_linetype() scale_shape_manual()
98/98