Pada tutorial ini akan mengambil data set mtcars (Motor Trend Car Road Tests), data set ini adalah tentang data yang diambil dari majalah 1974 Motor Trend US, dan terdiri dari konsumsi bahan bakar dan 10 aspek desain dan performa mobil untuk 32 mobil (model 1973-74).

data("mtcars")
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
str(mtcars)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...

Kerangka data dengan 32 observasi pada 11 variabel (numerik).

[, 1] mpg Mil / (AS) galon [, 2] cyl Jumlah silinder [, 3] disp perpindahan disp (cu.in.) [, 4] hp Tenaga kuda kotor [, 5] drat Rasio poros belakang [, 6] wt berat (1000 lbs) [, 7] qsec 1/4 mil waktu [, 8] vs Mesin (0 = berbentuk V, 1 = lurus) [, 9] am transmisi pagi (0 = otomatis, 1 = manual) [, 10] gear roda gigi Jumlah roda gigi maju [, 11] carb Karbohidrat Jumlah karburator

Untuk mengambil data cyl dari data mtcars menggunakan fungsi $, yang kemudian dikirim ke data.cyl

data.cyl = mtcars$cyl
data.cyl
##  [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
cyl.freq = table(data.cyl )
cyl.freq 
## data.cyl
##  4  6  8 
## 11  7 14
cbind(cyl.freq)
##   cyl.freq
## 4       11
## 6        7
## 8       14
data.wt = mtcars$wt
wt.freq = table(data.wt )
cbind(wt.freq )
##       wt.freq
## 1.513       1
## 1.615       1
## 1.835       1
## 1.935       1
## 2.14        1
## 2.2         1
## 2.32        1
## 2.465       1
## 2.62        1
## 2.77        1
## 2.78        1
## 2.875       1
## 3.15        1
## 3.17        1
## 3.19        1
## 3.215       1
## 3.435       1
## 3.44        3
## 3.46        1
## 3.52        1
## 3.57        2
## 3.73        1
## 3.78        1
## 3.84        1
## 3.845       1
## 4.07        1
## 5.25        1
## 5.345       1
## 5.424       1

Kemudian, akan dibuat grafik batang dari data frekuensi yang telah digabung sebelumnya dengan perintah berikut

barplot(cyl.freq, col = c("red", "yellow", "green"), main = "Bar Chart of The Cylinder of Car")

Sehingga muncul grafik batang seperti gambar di atas dengan urutan warna sesuai yang kita inginkan.

data = data.frame(mtcars$wt, mtcars$mpg)
data
##    mtcars.wt mtcars.mpg
## 1      2.620       21.0
## 2      2.875       21.0
## 3      2.320       22.8
## 4      3.215       21.4
## 5      3.440       18.7
## 6      3.460       18.1
## 7      3.570       14.3
## 8      3.190       24.4
## 9      3.150       22.8
## 10     3.440       19.2
## 11     3.440       17.8
## 12     4.070       16.4
## 13     3.730       17.3
## 14     3.780       15.2
## 15     5.250       10.4
## 16     5.424       10.4
## 17     5.345       14.7
## 18     2.200       32.4
## 19     1.615       30.4
## 20     1.835       33.9
## 21     2.465       21.5
## 22     3.520       15.5
## 23     3.435       15.2
## 24     3.840       13.3
## 25     3.845       19.2
## 26     1.935       27.3
## 27     2.140       26.0
## 28     1.513       30.4
## 29     3.170       15.8
## 30     2.770       19.7
## 31     3.570       15.0
## 32     2.780       21.4
summary(data)
##    mtcars.wt       mtcars.mpg   
##  Min.   :1.513   Min.   :10.40  
##  1st Qu.:2.581   1st Qu.:15.43  
##  Median :3.325   Median :19.20  
##  Mean   :3.217   Mean   :20.09  
##  3rd Qu.:3.610   3rd Qu.:22.80  
##  Max.   :5.424   Max.   :33.90

Perintah summary() digunakan untuk melihat ukuran pemusatan dan penyebaran data. Pada command di ambil data diisi oleh data untuk wt dan mpg, kenudian di proses dengan menggunakan fungsi summary() untuk mendapatkan nilai Min, Max, Mean, dan Median.

Setelah kita mengetahui nilai sebaran data wt dan mpg maka kita akan buat beberapa grafik visualisasi sederhana untuk dilakukan analisis deskriptif pada data tersebut.

  1. Scatter Plot
plot(data, main="Scatterplot Untuk Car Weight vs Miles Per Gallon", pch=19, xlab="Car Weight", ylab="Miles Per Gallon")

  1. Boxplot
boxplot(data, col="skyblue")

  1. Histogram
hist(mtcars$mpg, xlab="mpg", main = "Bar Chart of The mpg of Car")

hist(mtcars$wt, xlab="mpg", main = "Bar Chart of The wt of Car")

  1. Pie Chart
pie(mtcars$wt, col=c("red", "yellow", "green","blue","black","gray"))

  1. Bar Plot
barplot(mtcars$mpg)

  1. Dot Chart
dotchart(mtcars$mpg)

  1. Strip Chart
stripchart(mtcars$mpg)

x = 1:32
plot(x,mtcars$cyl,type = "b", pch=19, col="red", xlab = "number", ylab="y")
lines(x,mtcars$gear,type = "b", pch=18, col="blue", lty=2)
legend("topright", legend = c("mtcars$cyl","mtcars$gear"), col = c("red","blue"), lty=1:3, cex=0.8)

Untuk lebih jelas dalam menggambarkan plot gabungan dari beberapa data,command line dibawah ini menjelaskan bahwa terdapat data x mulai dari nilai 1 sampai 20, sebagai sumbu x, kemudian akan dibuat plot dengan 3 fungsi yaitu y1,y2 dan y3.

x = 1:20
y1 = x^2
y2 = 3*y1
y3 = 2*y2
plot(x, y1, type = "b", pch=19, col="red", xlab = "x", ylab="y")
lines(x, y2, type = "b", pch=18, col="blue", lty=2)
lines(x, y3, type = "b", pch=17, col="black", lty=4)
legend("topleft", legend = c("y1 = x^2", "y2 = 3*y1", "y3 = 2*y2"), col = c("red", "blue", "black"), lty=1:2, cex=0.8)

Daftar Pustaka

  1. https://www.statmethods.net/graphs/scatterplot.html