Universitas : UIN Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Gambar 1.1 Bahasa Pemrograman R
Visualisasi data merupakan bagian yang sangat penting untuk mengkomunikasikan hasil analisa yang kita lakukan sehingga membantu kita dalam memutuskan metode analisa apa yang dapat kita terapkan pada data tersebut.
Format dasarnya adalah
plot(x, y, type="p")
Catatan:
x dan y : titik koordinat plot Berupa variabel dengan panjang atau jumlah observasi yang sama.
type : jenis grafik yang hendak dibuat. Nilai yang dapat dimasukkan antara lain:
type=“p” : membuat plot titik atau scatterplot. Nilai ini merupakan default pada fungsi plot().
type=“l” : membuat plot garis.
type=“b” : membuat plot titik yang terhubung dengan garis.
type=“o” : membuat plot titik yang ditimpa oleh garis.
type=“h” : membuat plot garis vertikal dari titik ke garis y=0.
type=“s” : membuat fungsi tangga.
type=“n” : tidak membuat grafik plot sama sekali, kecuali plot dari axis. Dapat digunakan untuk mengatur tampilan suatu plot utama yang diikuti oleh sekelompok plot tambahan.
Contoh :
# membuat vektor data
x <- c(1:10); y <- x^2
# membagi jendela grafik menjadi 2 baris dan 4 kolom
par(mfrow=c(2,4))
# loop
type <- c("p","l","b","o","h","s","n")
for (i in type){ plot(x,y, type= i, main= paste("type=", i))}
Outputnya :
Gambar 1.2 Output visualisasi data dengan fungsi plot()
Fungsi lain yang dapat digunakan untuk membuat kurva suatu persamaan matematis adalah fungsi curve(). Bahasa sintaksnya yaitu:
curve(expr, from = NULL, to = NULL, add = FALSE)
Contoh sintaksnya:
par(mfrow=c(1,2),
# mengatur margin grafik
mar=c(4,4,1.5,1.5),
# mengatur margin sumbu
mex=0.8,
# arah tick sumbu koordinat
tcl=0.3)
# Grafik kiri
curve(expr=x^2*exp(-x/2),
from=0, to=10)
# Grafik kanan
plot(x, y, pch=19, cex=0.7, xlab="Waktu (detik)", ylab="Sinyal Intensitas") curve(expr=x^2*exp(-x/2), from=0, to=10, add=TRUE)
a. Bar Plot
Menggunakan sintaks berikut.
| ## | Rural Male | Rural Female | Urban Male | Urban Female |
|---|---|---|---|---|
| ## 50-54 | 11.7 | 8.7 | 15.4 | 8.4 |
| ## 55-59 | 18.1 | 11.7 | 24.3 | 13.6 |
| ## 60-64 | 26.9 | 20.3 | 37.0 | 19.3 |
| ## 65-69 | 41.0 | 30.9 | 54.6 | 35.1 |
| ## 70-74 | 66.0 | 54.3 | 71.1 | 50.0 |
Contoh bar plot untuk variabel Rural Male:
VADeaths
par(mfrow=c(1,2))
barplot(VADeaths[, "Rural Male"], main="a")
barplot(VADeaths[, "Rural Male"], main="b", horiz=TRUE)
Kita bisa mengubah warnanya. Contohnya:
barplot(VADeaths[, "Rural Male"],
# ubah warna ouline menjadi steelblue
border="steelblue",
# ubah wana box
col= c("grey", "yellow", "steelblue", "green", "orange"),
# ubah nama grup dari A sampai E
names.arg = LETTERS[1:5],
# ubah orientasi menajadi horizontal
horiz=TRUE)
Gambar 1.3 Kustomisasi bar plot
Untuk bar plot dengan multiple group, tersedia dua pengaturan posisi yaitu stacked bar plot(menunjukkan proporsi penyusun pada masing-masing grup) dan grouped bar plot(melihat perbedaan individual pada masing-masing grup).
# staked
barplot(VADeaths,
col = c("lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk"),legend = rownames(VADeaths))
# grouped
barplot(VADeaths,
col = c("lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk"), legend = rownames(VADeaths), beside = TRUE)
b. Histogram dan Density Plot
Contoh sintaksnya:
# menghitung kernel density
dens <- density(trees$Height)
# histogram
hist(trees$Height, freq=FALSE, col="steelblue")
# tambahkan density plot
polygon(dens, border="red")
c. Box plot
Box plot pada R dapat dibuat menggunakan fungsi boxplot(). Berikut adalah contoh sintaks boxplot dengan warna berdasarkan spesies.
# menghitung kernel density
dens <- density(trees$Height)
# histogram
hist(trees$Height, freq=FALSE, col="steelblue")
# tambahkan density plot
polygon(dens, border="red")
boxplot(iris$Sepal.Length)
Gambar 1.4 Boxplot dengan warna berdasarkan spesies
a. Menambahkan Judul
Pada grafik di R , kita dapat menambahkan judul dengan dua cara, yaitumelalui parameter dan melalui fungsi plot().
Kita bisa menambahkan argumen sebagai berikut:
main: teks untuk judul.
xlab: teks untuk keterangan axis X.
ylab: teks untuk keterangan axis y.
sub: teks untuk sub-judul.
Untuk melakukan kustomisasi pada warna pada judul, kita dapat menambahkan argumen sebagai berikut:
col.main: warna untuk judul.
col.lab: warna untuk keterangan axis.
col.sub: warna untuk sub-judul
Untuk kustomisasi font judul, kita dapat menambahkan argumen berikut:
font.main: font style untuk judul.
font.lab: font style untuk keterangan axis.
font.sub: font style untuk sub-judul
Sedangkan untuk ukuran font, kita dapat menambahkan variabel berikut:
cex.main: ukuran teks judul.
cex.lab: ukuran teks keterangan axis.
cex.sub: ukuran teks sub-judul.
Contoh sintaksnya:
# menambahkan judul
barplot(c(2,5),
# menambahkan judul
main="Main title", xlab="X axis title", ylab="Y axis title", sub="Sub-title",
# kustomisasi warna font
col.main="red", col.lab="blue", col.sub="black",
# kustomisasi font style
font.main=4, font.lab=4, font.sub=4,
# kustomisasi ukuran font
cex.main=2, cex.lab=1.7, cex.sub=1.2)
Gambar 1.5 Menambahkan judul
b. Menambahkan Legend
Argumen yang ditambahkan pada legend adalah sebagai berikut:
title: Judul legend
text.font: integer yang menunjukkan font style pada teks legend. Nilai yang dapat dimasukkan adalah sebagai berikut:
1: normal
2: cetak tebal
3: cetak miring
4: cetak tebal dan miring.
bg: warna background legend box.
Contoh sintaksnya:
# membuat vektor numerik
x <- c(1:10)
y <- x^2
z <- x*2
# membuat line plot
plot(x,y, type="o", col="red", lty=1)
# menambahkan line plot
lines(x,z, type="o", col="blue", lty=2)
# menambahkan legend
legend(1, 95, legend=c("Line 1", "Line 2"),
col=c("red", "blue"), lty=1:2, cex=0.8)
Gambar 1.6 Menambahkan legend
c. Menambahkan Teks Pada Grafik
Contoh sintaksnya:
# tandai observasi yang memiliki nilai
# mpg < 15 dan wt > 5
d <- mtcars[mtcars$wt >= 5 & mtcars$mpg <= 15, ]
# plot
plot(mtcars$wt, mtcars$mpg, main="Milage vs. Car Weight",
xlab="Weight", ylab="Miles/(US) gallon")
# menambahkan text
text(d$wt, d$mpg, row.names(d),
cex=0.65, pos=3,col="red")
Catatan:
text: teks yang akan ditulis.
side: integer yang menunjukkan lokasi teks yang akan ditulis. Nilai yang dapat dimasukkan antara lain:
1: bawah
2: kiri
3: atas
4: kanan.
Berikut ini adalah contoh sintaksnya:
plot(1:10, 1:10,main="mtext(...) examples\n~~~~~~~~~~~")
mtext("Magic function", side=3)
d. Menambahkan Garis Pada Plot
Fungsi abline() dapat digunakan untuk menamabahkan garis pada plot.
Contoh sintaksnya:
# membuat plot
plot(mtcars$wt, mtcars$mpg, main="Milage vs. Car Weight", xlab="Weight", ylab="Miles/(US) gallon")
# menambahkan garis vertikal di titik rata-rata weight
abline(v=mean(mtcars$wt), col="red", lwd=3, lty=2)
# menambahkan garis horizontal di titik rata-rata mpg
abline(h=mean(mtcars$mpg), col="blue", lwd=3, lty=3)
# menambahkan garis regresi
abline(lm(mpg~wt, data=mtcars), lwd=4, lty=4)
Gambar 1.8 Menambahkan garis pada plot
e. Merubah Simbol plot dan Jenis Garis
Nilai yang dimasukkan pada argumen tersebut adalah integer dengan kemungkinan nilai sebagai berikut:
pch = 0,square
pch = 1,circle (default)
pch = 2,triangle point up
pch = 3,plus
pch = 4,cross
pch = 5,diamond
pch = 6,triangle point down
pch = 7,square cross
pch = 8,star
pch = 9,diamond plus
pch = 10,circle plus
pch = 11,triangles up and down
pch = 12,square plus
pch = 13,circle cross
pch = 14,square and triangle down
pch = 15, filled square
pch = 16, filled circle
pch = 17, filled triangle point-up
pch = 18, filled diamond
pch = 19, solid circle
pch = 20,bullet (smaller circle)
pch = 21, filled circle blue
pch = 22, filled square blue
pch = 23, filled diamond blue
pch = 24, filled triangle point-up blue
pch = 25, filled triangle point down blue
Pada R kita juga dapat mengatur jenis garis yang akan ditampilkan pada plot dengan menambahkan argumen lty= (line type) pada fungsi plot. Nilai yang dapat dimasukkan adalah nilai integer. Keterangan masing-masing nilai tersebut adalah sebagai berikut:
lty = 0, blank
lty = 1, solid (default)
lty = 2, dashed
lty = 3, dotted
lty = 4, dotdash
lty = 5, longdash
lty = 6, twodash
f. Mengatur Axis Plot
Untuk menambahkan axis pada R kita dapat menambahkan fungsi axis() setelah plot dilakukan. Format yang digunakan adalah sebagai berikut:
axis(side, at=NULL, labels=TRUE)
Catatan:
Berikut adalah argumen yang dapat ditambahkan pada fungsi grafik:
side: nilai integer yang mengidikasikan posisi axix yang hendak ditambahkan. Nilai yang dapat dimasukkan adalah sebagai berikut:
at: titik dimana tick-mark hendak digambarkan. Nilai yang dapat dimasukkan sama dengan side .
labels: Teks label tick-mark. Dapat juga secara logis menentukan apakah anotasi harus dibuat pada tick mark.
Contoh sintaksnya:
# membuat vektor numerik
x <- c(1:4)
y <- x^2
# plot
plot(x, y, pch=18, col="red", type="b",
frame=FALSE, xaxt="n") # Remove x axis
# menambahkan axis
# bawah
axis(1, 1:4, LETTERS[1:4], col.axis="blue")
# atas
axis(3, col = "darkgreen", lty = 2, lwd = 0.5)
# kanan
axis(4, col = "violet", col.axis = "dark violet", lwd = 2)
Gambar 1.9 Modifikasi axis
Berikut adalah argumen yang dapat ditambahkan pada fungsi grafik:
xlim: limit nilai sumbu x dengan format: xlim(min, max) .
ylim: limit nilai sumbu x dengan format: ylim(min, max) .
Untuk transformasi skala log, kita dapat menambahkan argumen berikut:
log=“x” : transformasi log sumbu x.
log=“y” : transformasi log sumbu y.
log=“xy”: transformasi log sumbu x dan y.
contoh sintaksnya:
# membagi jendela grafik menjadi 1 baris dan 3 kolom
par(mfrow=c(1,3))
# membuat vektor numerik
x<-c(1:10); y<-x*x
# simple plot
plot(x, y)
# plot dengan pengaturan rentang skala
plot(x, y, xlim=c(1,15), ylim=c(1,150))
# plot dengan transformasi skala log
plot(x, y, log="y")
Kita dapat melakukan kustomisasi pada tick mark. Kustomisasi yang dapat dilakukan adalah merubah warna, font style, ukuran font, orientasi, serta menyembunyikan tick mark. Argumen yang ditambahkan adalah sebagai berikut:
col.axis: warna tick mark.
font.axis: integer yang menunjukkan font style. Sama dengan pengaturan judul.
cex.axis: pengaturan ukuran tick mark.
las: mengatur orientasi tick mark. Nilai yang dapat dimasukkan adalah sebagai berikut:
xaxt dan yaxt: karakter untuk menunjukkan apakah axis akan ditampilkan atau tidak. nilai dapat berupa “n”(sembunyika) dan “s”(tampilkan)
g. Mengatur Warna
Pada sintaks berikut disajikan visualisasi nama-nama warna bawaan yang ada pada R.
## Loading required package: grid
showCols <- function(cl=colors(), bg = "grey",
cex = 0.75, rot = 30) {
m <- ceiling(sqrt(n <-length(cl)))
length(cl) <- m*m; cm <- matrix(cl, m)
require("grid")
grid.newpage(); vp <- viewport(w = .92, h = .92)
grid.rect(gp=gpar(fill=bg))
grid.text(cm, x = col(cm)/m, y = rev(row(cm))/m, rot = rot,
vp=vp, gp=gpar(cex = cex, col = cm))
} #
print 60 nama warna pertama
showCols(bg="gray20", cl=colors()[1:60], rot=30, cex=0.9)
R dapat digunakan untuk memproduksi visualisasi pada skala 2 dan 3 dimensi. Untuk proyeksi 2 dimensi, fungsi yang digunakan adalah image() atau contour().
Contoh sintaksnya:
n <- 1:20
x <- sin(n)
y <- cos(n)*exp(-n/3)
z <- outer(x,y)
par(mar=c(3,3,1.5,1.5), mex=0.8, mgp=c(2,0.5,0), tcl=0.3)
par(mfrow=c(1,2))
# plot pertama
image(z, col=gray(1:10/10))
# plot kedua
contour(z)
Proyeksi 3 dimensi dapat dilakukan menggunakan fungsi persp(). Sudut penglihatan dapat diatur melalui argumen theta (sudut) dan phi() (rotasi).
Contoh sintaksnya:
par(mar=c(3,3,1.5,1.5), mex=0.8, mgp=c(2,0.5,0), tcl=0.3)
par(mfrow=c(1,2))
# plot pertama
persp(n,n,z, theta=45, phi=20)
# plot kedua
persp(n,n,z, theta=45, phi=20, shade=0.5)