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.

1. Visualisasi Data Menggunakan Fungsi plot()

Format dasarnya adalah

plot(x, y, type="p")

Catatan:

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)

2. Visualisasi Lainnya

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

3. Kustomisasi Parameter Grafik

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:

  1. main: teks untuk judul.

  2. xlab: teks untuk keterangan axis X.

  3. ylab: teks untuk keterangan axis y.

  4. sub: teks untuk sub-judul.

Untuk melakukan kustomisasi pada warna pada judul, kita dapat menambahkan argumen sebagai berikut:

  1. col.main: warna untuk judul.

  2. col.lab: warna untuk keterangan axis.

  3. col.sub: warna untuk sub-judul

Untuk kustomisasi font judul, kita dapat menambahkan argumen berikut:

  1. font.main: font style untuk judul.

  2. font.lab: font style untuk keterangan axis.

  3. font.sub: font style untuk sub-judul

Sedangkan untuk ukuran font, kita dapat menambahkan variabel berikut:

  1. cex.main: ukuran teks judul.

  2. cex.lab: ukuran teks keterangan axis.

  3. 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:

  1. title: Judul legend

  2. 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.

  3. 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")

Gambar 1.7 Menambahkan teks pada grafik Catatan:

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:

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:

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:

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:

Untuk transformasi skala log, kita dapat menambahkan argumen berikut:

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:

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)

4. Plot Dua dan Tiga Dimensi

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)

5. Referensi

https://bookdown.org/moh_rosidi2610/Metode_Numerik/intro.html