Untuk menampilkan pdf kemungkinan dibutuhkan paket tinytex
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
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).
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.
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.
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.
plot(mtcars$hp, main = "Standard Scatterplot")
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.
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")
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.
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")