Untuk menampilkan pdf kemungkinan dibutuhkan paket tinytex

0.1 Pendahuluan

Setelah anda mengikuti matakuliah ini diharapkan: 1. dapat mengolah data kuantitatif dan kualitatif 2. dapat memvisualisasikan data kuantitatif dan kualitatif 3. dapat menganalisa dan mengambil kesimpulan

0.2 Data mtcars

Dalam bagian ini akan kita akan membahas data mtcars yang sudah ada alam standar R.

summary(mtcars)
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  Median :19.20   Median :6.000   Median :196.3   Median :123.0  
##  Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
##  3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
##  Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
##       drat             wt             qsec             vs        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000

Hasil di atas merupakan deskripsi statistik dari data mtcars. Dapat kita lihat data ini terdiri dari 11 variabel dengan jenis data kuantitatif(variabel mpg,cyl,gear,disp,hp,drat,wt,qsec,carb) dan kualitatif(variabel am,vs).

0.3 Penggunaan coplot (conditional plot)

coplot(mpg~disp | as.factor(cyl),data=mtcars, panel=panel.smooth,row=1)

Perintah di atas melabelkan perintah coplot dengan thePlot. Kita set eval=FALSE sehingga hasil plotnya tidak akan ditampilkan.

0.4 Menggunakan label untuk menampilkan coplot

Perintah di atas mengulangi perintah sebelumnya dengan menggunakan fasilitas refer.label. Kitaset echo=FALSE sehingga perintah coplot tidak akan ditampilkan.

Dalam coplot di atas kita ingin melihat prilaku mpg dan disp dalam setiap jenis cylinder yang ada dalam data. Hal ini sangat penting dalam proses monitoring.

0.5 Menampilkan plot standar

Berikut ini parameter-parameter yang dapat digunakan untuk membuat plot lebih menarik:

mfrow,mfcol: parameter yang menyatakan banyaknya plot per baris/kolom

mar: vektor numerik untuk ukuran margin

pch: parameter untuk bentuk titik dalam plot

las: parameter untuk orientasi label dalam sumbu plot

lty: parameter untuk jenis garis plot

bg: parameter untuk warna background

col: parameter untuk warna garis plot

col.lab: parameter untuk warna label sumbu

oma: parameter untuk ukuran outer margin

lines: This connects the dots of an x, y-vector or a two-column matrix

axis: This function adds an axis to the plot, with several of its own parameters, such as position, labels, ticks, side, and more

points: This is used to draw points to an existing plot and can also specify coordinates

text: By using text(), you can add strings to the x, y coordinates

mtext: This is used to write strings to the inner or outer margins of the plot

title: Use this function to add annotations to the title, subtitle, and more

abline: This is used add one or more straight lines to a plot

matlines, matpoints: Both these functions add a matplot() function to an existing plot, which

par(mfrow=c(3,3))
hist(mtcars$mpg,main="Histogram")
barplot(mtcars$hp,main="Bar Chart")
dotchart(mtcars$mpg[1:4],labels=row.names(mtcars),main="Dot Plot")
boxplot(mtcars[1:2], main = "Boxplot")
plot(mtcars$hp, main = "Scatterplot")
pie(mtcars$disp[1:4], labels=row.names(mtcars), main = "Pie Chart")
plot(density(mtcars$wt), main = "Density Plot")
matplot(mtcars[1:4], main = "Matplot")

Histogram menggambarkan distribusi frekusensi kemunculan dari nilai variabel mpg berdasarkan selang yang kita tetapkan.

Bar chart menggambarkan nilai-nilai hp dari setiap data yang ada.

Dot plot menggambarkan distribusi nilai untuk setiap variabel yang kita tentukan. Dapat melihat variabel yang memiliki prilaku yang berbeda dengan variabel-variabel yang lain. Dapat juga untuk melihat outlier

Boxplot menggambarkan sebaran data. Dapat melihat outlier data

Scatterplot menggambarkan asosiasi antar dua variabel.

Pie Chart menggambarkan prosentase banyaknya variabel yang kita tentukan.

Density plot menggambarkan kepadatan nilai-nilai dari variabel yang kita tentukan.

Matplot menggambarkan sebaran data berdasarkan label datanya. Dapat digunakan dengan tujuan yang sama dengan Dot plot.

0.6 plain scatterplot

plot(mtcars$hp, main = "Standard Scatterplot")

0.7 scatterplot with some adjusted parameters

par(bg = "grey", las = 2, mar = (c(10, 4, 4, 15) + 0.1), pch = 17, col.lab =
"blue", col.main = "red")
plot(mtcars$hp, main = "Scatterplot With Parameters")

Perhatikan dalam plot di atas kita telah merubah warna background menjadi grey, orientasi label sumbu 2, margin kanan 10, margin kiri 4, margin atas 4 dan margin bawah 15, jenis bentuk titik =17 dan warna judul merah.

0.8 Visualisasi data dengan plot

myData1 <- c(12, 45, 689, 87, 3, 45, 124, 356)
myData2 <- c(240, 36, 455, 33, 199, 10)
myData3 <- c(102, 155, 122, 77, 542, 652)
plot(myData1, main = "Scatterplot with Plotting Functions", lwd = 2)
lines(stats::lowess(myData1), lty = 6, lwd = 3)
points(myData2, pch = 5, col = "red", lwd =3)
abline(lsfit(1:6, myData2), lwd = 1.5)
title(sub = "Using the title function")
mtext("This is a mtext function", side = 4)
matpoints(myData3, col = "blue")

0.9 Pot Lattice

require(lattice)
## Loading required package: lattice
require(datasets)
xyplot(speed~dist,data=cars,main="lattice scatterplot")

Dalam paket lattice ini terdapat beberapa fungsi yang dapat digunakan untuk memvisualisasikan data. Fungsi-fungsi tersebut adalah:

Histogram histogram() dengan input ~ x

Bar Chart barchart() dengan input x ~ y or y ~ x

Dotplot dotplot() dengan input ~ x | a

Scatterplot xyplot() dengan input y ~ x | a

Boxplot (Box-and-Whisker) bwplot() dengan input x ~ a or a ~ x

Kernal Density Plot densityplot() dengan input ~ x | a * b

Strip Plot stripplot() dengan input a ~ x or x ~ a

Theoretical Quantile Plot qqmath() dengan input ~ x | a

Two-sample Quantile Plot qq() dengan input y ~ x

Scatterplot Matrix splom() dengan input data frame

Parallel Coordinates Plot parallel() dengan input data frame

3D Scatterplot cloud() dengan input z ~ x * y | a

3D Contour Plot contourplot() dengan input z ~ x * y

3D Level Plot levelplot() dengan input z ~ x * y

3D Wireframe Plot wireframe() dengan input z ~ x * y

bwplot(count ~ spray, InsectSprays, main = "Boxplot")

qqmath( ~ count | spray, InsectSprays, main = "Theoretical Quantile Plot")

cloud(depth ~ lat * long, data = quakes,
zlim = rev(range(quakes$depth)),
screen = list(z = 105, x = -70), panel.aspect = 1,
xlab = "Longitude", ylab = "Latitude", zlab = "Depth", main = "3D
Scatterplot")

histogram( ~ count | spray, data = InsectSprays,
ylab = "", main = "Using The Lattice Panel Functions",
panel = function(x, ...) {
panel.histogram(x, ...)
panel.qqmathline(x, ..., col = "red", lty = 2, lwd = 3)
panel.abline(v = median(x), col = "blue", lwd = 2)
})

Plot di atas untuk melihat boxplot count untuk setiap jenis spray. Terlihat sebaran data count terbesar berada pada jenis spray F. Terdapat data pencilan pada jenis spray C dan D.

0.10 Paket ggplot2

require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.4.2
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, shape = Species, color =
Petal.Width)) + geom_point(size = 5)

Dalam paket ggplot2 input dalam aes tergantung fungsi geom yang kita pilih.

Untuk geom_point() kita memiliki pilihan input:

x: data untuk sumbu x

y: data untuk sumbu y,

alpha: ,

color: warna dari titik data dalam plot,

fill: ,

shape: bentuk data dalam plot dan

size: ukuran dari titik

ggplot(iris, aes(Sepal.Length, Sepal.Width, shape = Species, color = Species, size =
Petal.Width)) + geom_point()

ggplot(iris, aes(Species, Sepal.Length)) + geom_bar(stat = "identity")

Pada plot bar di atas sumbu x adalah species dan sumbu y nya sepal.length. Warna dari bar adalah hitam.

Untuk menampilkan plot bar yang lebih informatif kita dapat memberi warna yang berbeda pada setiap bar menurut label speciesnya.

ggplot(iris, aes(Species, Sepal.Length, fill = Species)) + geom_bar(stat =
"identity")

ggplot(iris) %+% subset(iris,Species == "setosa") + geom_point(aes(Sepal.Length,
Sepal.Width))

ggplot(iris,aes(x = Sepal.Length,y = Sepal.Width,color = Species)) +
geom_point(data = subset(iris, Species %in% c("setosa","virginica")))

library(htmlwidgets)
## Warning: package 'htmlwidgets' was built under R version 3.4.4
library(dygraphs)
## Warning: package 'dygraphs' was built under R version 3.4.4
hw <- HoltWinters(ldeaths)
p <- predict(hw, n.ahead = 36, prediction.interval = TRUE)
all <- cbind(ldeaths, p)
dygraph(all, "Deaths from Lung Disease (UK)") %>%
dySeries("ldeaths", label = "Actual") %>%
dySeries(c("p.lwr", "p.fit", "p.upr"), label = "Predicted")