Di kalangan para statistikawan nama open source software (OSS) R cukup dikenal dan populer sebagai bahasa pemrograman statistika. R selain dimanfaatkan untuk analisis data, juga bisa dimanfaatkan mengimplementasikan metode statistika yang sedang diteliti atau dikembangkan (dalam bentuk paket). R juga sangat dikenal dengan kemampuan visualisasi grafiknya yang bahkan mengalahkan kualitas grafik kebanyakan software-software statistika berbayar.
Bahasa R dapat diperoleh secara gratis. Untuk memilikinya tinggal diunduh (di download) disini:
[Install R] (https://cran.r-project.org/bin/windows/base/)
Selain itu perlu menginstal RStudio yaitu interface yang sangat penting untuk dapat menjalankan program aplikasi R menjadi lebih user friendly:
[Install R Studio] (https://rstudio.com/products/rstudio/)
Layout RStudio terdiri dari 4 jendela
1. Editor adalah jendela yang digunakan untuk membuat script R. Script R adalah suatu code yang digunakan untuk menerjemahkan setiap perintah di R. Apabila jendela tersebut tidak muncul saat pertama kali menginstall RStudio, langkah yang dapat dilakukan adalah sebagai berikut: Klik tab File -> New File -> R script.
2. Console adalah jendela untuk mengeksekusi perintah dari script R yang dibuat. Jendela ini akan menampilkan output dari setiap satu proses/baris command R yang dijalankan.
3. Environment Jendela ini terdiri dari beberapa tab, yaitu Environment, History, dan Connections. Tab environment akan menampilkan summary dari input.
4.Fitur Lainnya Jendela ini merupakan fitur tambahan yang bermanfaat khususnya dalam manajemen file, menampilkan output command berupa plot, informasi dan bantuan dalam penulisan script.
Objek merupakan komponen penting dalam pemrograman, terutama untuk data scientist. Objek dapat menyimpan angka, hasil statistik, vektor, dataset, prediksi model pada dasarnya apa pun keluaran R. Jadi Semua hal yang dikerjakan dalam R dapat disimpan dalam bentuk objek dengan mendefinisikannya.Kita dapat menggunakan objek itu nanti hanya dengan memanggil nama objek.
Untuk mendeklarasikan objek, kita perlu menetapkan nama objek. Nama tidak boleh memiliki ruang/spasi. Kita dapat menggunakan _ untuk terhubung dengan kata-kata.
Untuk menambahkan nilai ke objek, gunakan <- atau =.
Aturanya penamaan objek sebagai berikut:
Example:
# Pertama menggunakan `=`
a1 = 1
a1
## [1] 1
# kedua bisa menggunakan `<-`
a1 <- 1
a1
## [1] 1
a1 merupakan nama objek yang dibuat untuk memanggil nilai 1 . Cara memangggil hasil dari a1 maka letakan kursor di command R lalu klik run di R nya, maka hasil dari a1 akan keluar yaitu 1
Pemrograman R bekerja dengan berbagai tipe data, meliputi:
1. Scalars
2. Vectors
Vektor adalah array satu dimensi. Kita dapat membuat vektor dengan semua tipe data dasar yang kita pelajari sebelumnya. Cara paling sederhana untuk membangun vektor dalam R, adalah dengan menggunakan perintah c.
Example 1
# Numerical
vec_num = c(100, 200, 300)
# Print output
vec_num
## [1] 100 200 300
Example 2
# Character
vec_chr <- c("aku", "belajar", "R Programming")
# Print output
vec_chr
## [1] "aku" "belajar" "R Programming"
Example 3
# Boolean
vec_bool <- c(TRUE, FALSE, TRUE)
# Print output
vec_bool
## [1] TRUE FALSE TRUE
Kita bisa melakukan perhitungan aritmatika pada vektor.
Example 4
# membuat vektor
vect_1 = c(1, 2, 3)
vect_2 = c(4, 5, 6)
# Penjumlahan dari A_vector and B_vector
sum_vect = vect_1 + vect_2
# Print output
sum_vect
## [1] 5 7 9
Example 5
Dalam R, dimungkinkan untuk memotong vektor. Dalam beberapa kesempatan, kita hanya tertarik pada lima baris pertama vektor. Kita dapat menggunakan perintah [1: 5] untuk mengekstraksi nilai 1 hingga 5.
slice_vector = c(1,2,3,4,5,6,7,8,9,10)
# Print output
slice_vector[1:5]
## [1] 1 2 3 4 5
Example 6
Cara terpendek untuk membuat rentang nilai adalah dengan menggunakan : antara dua angka. Misalnya, dari contoh di atas, kita dapat menulis c (1:10) untuk membuat vektor nilai dari satu hingga sepuluh.
c(1:10)
## [1] 1 2 3 4 5 6 7 8 9 10
Arithmetic Operators
Operator | Description |
---|---|
+ | Penjumlahan |
- | Pengurangan |
* | Perkalian |
/ | Pembagian |
^or ** | Ekponensial |
Example:
penjumlahan = 2+4
penjumlahan
## [1] 6
perkalian = 4*5
perkalian
## [1] 20
Logical Operators
Operator | Description |
---|---|
< | less than |
<= | less than or equal to |
> | Greater then |
>= | greater than or equal to |
!= | Exactly equal to |
!x | no x |
y | y |
x & y | x AND y |
isTRUE(x) | test if X TRUE |
Example
# Print nilai diatas 5
logical_vector = c(1:10)
logical_vector[(logical_vector>5)]
## [1] 6 7 8 9 10
3. Matriks
Matriks adalah array 2 dimensi yang memiliki jumlah baris m dan n jumlah kolom. Dengan kata lain, matriks adalah kombinasi dari dua vektor atau lebih dengan tipe data yang sama.
Example:
Bagaimana R membuat Matrik?
Kita bisa membuat matriks dengan function matrix (). Fungsi ini membutuhkan tiga argumen:
matrix(data, nrow, ncol, byrow = FALSE)
Arugumen:
byrow = FALSE
(nilai default), jika kami ingin agar matriks diisi oleh kolom yaitu nilai-nilai diisi dari atas ke bawah.Mari kita buat dua matriks 5X2 dengan urutan angka dari 1 hingga 10, satu dengan byrow = TRUE dan satu dengan byrow = FALSE untuk melihat perbedaannya.
Example
# Buat sebuah matriks dengan 5 baris yang berisi angka 1 hingga 10 dan byrow = TRUE
matrix_1 <-matrix(1:10, byrow = TRUE, nrow = 5)
matrix_1
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
## [3,] 5 6
## [4,] 7 8
## [5,] 9 10
# Buat sebuah matriks dengan 5 baris yang berisi angka 1 hingga 10 dan byrow = FLSE
matrix_2 <-matrix(1:10, byrow = FALSE, nrow = 5)
matrix_2
## [,1] [,2]
## [1,] 1 6
## [2,] 2 7
## [3,] 3 8
## [4,] 4 9
## [5,] 5 10
Kita juga dapat membuat matriks 4x3 menggunakan ncol. R akan membuat 3 kolom dan mengisi baris dari atas ke bawah.
matrix_3 <-matrix(1:12, byrow = FALSE, ncol = 3)
matrix_3
## [,1] [,2] [,3]
## [1,] 1 5 9
## [2,] 2 6 10
## [3,] 3 7 11
## [4,] 4 8 12
Bagaimana menambahkan Kolom baru ke Matriks yang sudah terbentuk?
Kita bisa menambahkan kolom baru ke matriks dengan perintah cbind ().
cbind ()
berarti pengikatan kolom.cbind ()
dapat menggabungkan matriks atau kolom sebanyak yang ditentukan. Sebagai contoh, contoh kami sebelumnya membuat matriks 5x2. Kami menggabungkan kolom ketiga dan memverifikasi dimensinya 5x3
Fungsi: matrix=cbind(matrix sebelumnya, data kolom baru)
Example
#gabungkan c(1:5) ke matrix_1 yang tadi
matrix_4=cbind(matrix_1, c(1:5))
matrix_4
## [,1] [,2] [,3]
## [1,] 1 2 1
## [2,] 3 4 2
## [3,] 5 6 3
## [4,] 7 8 4
## [5,] 9 10 5
4. Data frames
Data Frame adalah daftar vektor yang panjangnya sama. Matriks hanya berisi satu jenis data, sementara data frame menerima tipe data yang berbeda (numerik, karakter, faktor, dll.).
Bagimana membuat sebuah data frame?
Kita bisa membuat data frame dengan membuat dulu variabel-variabel nya, kemudian varibel-varibel tersebut diterukan ke fungsi data frame.
Function data frame : data.frame(df, stringsAsFactors = TRUE)
Arguments:
df : Ini bisa berupa matriks untuk dikonversi sebagai data frame atau kumpulan variabel untuk digabungkan
stringsAsFactors : Konversi string menjadi faktor secara default
Example:
Kita dapat membuat set data pertama dengan menggabungkan empat variabel dengan panjang yang sama.
#buat 4 variabel
Kota = c('Jogja','Bandung','Surabaya','Jakarta')
Unit_terjual=c(10,20,30,40)
Harga = c(1000, 2000, 3000, 4000)
Target <- c(TRUE,FALSE,TRUE,FALSE)
# gabungkan 4 variabel diatas kedalam data frame
data_penjualan <- data.frame(Kota, Unit_terjual,Harga,Target)
data_penjualan
## Kota Unit_terjual Harga Target
## 1 Jogja 10 1000 TRUE
## 2 Bandung 20 2000 FALSE
## 3 Surabaya 30 3000 TRUE
## 4 Jakarta 40 4000 FALSE
Bagaimana menambahkan variable baru ke sebuah data frame?
Kita perlu menggunakan simbol $ untuk menambahkan variabel baru.
# buat sebuah vektor baru
Omset = c('1jt', '2jt', '3jt', '4jt')
# tambahkan varibel omset ke dalam data frame tadi (data_penjualan)
data_penjualan$Omset = Omset
data_penjualan
## Kota Unit_terjual Harga Target Omset
## 1 Jogja 10 1000 TRUE 1jt
## 2 Bandung 20 2000 FALSE 2jt
## 3 Surabaya 30 3000 TRUE 3jt
## 4 Jakarta 40 4000 FALSE 4jt
Bagaimana memilih (select) sebuah kolom dalam data frame?
Terkadang, kita perlu menyimpan kolom data fame untuk digunakan di masa mendatang atau melakukan operasi pada kolom. Kita dapat menggunakan tanda $ untuk memilih kolom dari data frame.
#Select variable harga
data_penjualan$Harga
## [1] 1000 2000 3000 4000
Subset sebuah Data Frame
Di bagian sebelumnya, kita memilih seluruh kolom tanpa syarat. Dimungkinkan untuk dikelompokkan berdasarkan apakah kondisi tertentu itu benar atau tidak.
Kita menggunakan function subset
: subset(x, condition)
Argumen:
x : data frame yang akan digunakan untuk melakukan subset
condition : mendefinisikan sebuah kondisinya
Example:
Kita akan memilih harga diatas 2000
#harga diatas 3000
subset(data_penjualan, subset = Harga > 2000)
## Kota Unit_terjual Harga Target Omset
## 3 Surabaya 30 3000 TRUE 3jt
## 4 Jakarta 40 4000 FALSE 4jt
5. Lists
List adalah alat yang hebat untuk menyimpan berbagai jenis objek sesuai urutan yang diharapkan. Kami dapat menyertakan matriks, data freme atau daftar data vektor.
Bagaimana membuat List?
kita menggunakan function list()
: list(element_1, ...)
Argumen:
Example:
Contoh di bawah ini, kita membuat tiga objek berbeda, satu vektor, satu matriks dan satu data frame.
Step 1) Buat sebuah vektor
#vektor dengan numeric dari 1 sampai 5
vect = 1:5
Step 2) Buat sebuah matrik
#sebuah matrik 2x5
mat= matrix(1:9,ncol=5)
## Warning in matrix(1:9, ncol = 5): data length [9] is not a sub-multiple or
## multiple of the number of rows [2]
Step 3) Buat sebuah data frame
#menggunakan data frame yang tadi (data penjualan)
df = data.frame(data_penjualan)
Step 4) Buat sebuah list
my_list <- list(vect, mat, df)
my_list
## [[1]]
## [1] 1 2 3 4 5
##
## [[2]]
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 3 5 7 9
## [2,] 2 4 6 8 1
##
## [[3]]
## Kota Unit_terjual Harga Target Omset
## 1 Jogja 10 1000 TRUE 1jt
## 2 Bandung 20 2000 FALSE 2jt
## 3 Surabaya 30 3000 TRUE 3jt
## 4 Jakarta 40 4000 FALSE 4jt
Ada 3 langkah yang harus dilakukan:
Menyiapkan data dalam format CSV atau Untuk mengunduh file simulasi dapat klik tautan berikut (klik kanan new tab untuk mengunduh file): https://bit.ly/2UA0kYO
Menyimpan data ke dalam R
regresi = read.csv("F:/2020/Sharing Session/Sharing R/regresi.csv")
Perintah read.csv()
untuk memanggil data kedalam direktori kerja R. Perintah diatas mempunyai arti, Anda ingin mengakses data yang berada dilokasi D folder Pelatihan dan nama file yang ingin diakses adalah regresi.csv
regresi
## Penjualan.Produk AVA1 AVA2 AVA3 EPA1 EPA2 EPA3
## 1 73733474 82.63889 25.25000 70.83333 155.8333 155.8333 155.7692
## 2 79373001 70.00000 19.00000 100.00000 180.0000 165.0000 NA
## 3 100201250 60.75000 34.50000 87.50000 165.0000 180.0000 180.0000
## 4 109651912 78.72727 30.36364 77.27273 160.9091 156.0000 165.0000
## 5 160834158 86.21212 19.24242 75.75758 150.0000 143.0769 148.3333
## 6 277128250 83.25000 21.00000 87.50000 160.0000 145.0000 144.0000
## 7 334009660 72.00000 31.00000 100.00000 174.0000 174.0000 180.0000
## 8 200183114 85.75556 19.06667 70.00000 149.3617 139.3333 138.6486
## 9 95434433 94.64286 22.71429 64.28571 128.5714 132.8571 125.0000
## 10 137109753 68.00000 13.50000 68.75000 135.0000 157.5000 165.0000
## 11 122380843 83.43243 20.59459 63.51351 144.6154 143.8462 147.4286
## 12 238294709 86.76471 30.41176 72.05882 155.2941 162.3529 158.8235
## 13 278291127 100.00000 53.37500 100.00000 174.5455 174.5455 177.2727
## 14 239273781 89.66667 23.88889 80.55556 176.0000 164.0000 168.0000
## 15 52890252 75.46875 20.03125 39.84375 129.0909 127.2727 135.0000
## 16 149448002 78.00000 23.00000 41.66667 138.0000 144.0000 146.6667
## 17 465019017 60.00000 100.00000 100.00000 180.0000 180.0000 180.0000
## 18 116642716 70.00000 37.00000 67.85714 150.0000 156.0000 153.3333
## 19 71493639 85.41667 46.26923 74.03846 170.4000 162.0000 165.0000
## 20 150725659 74.39583 54.97917 89.58333 170.5882 168.2353 169.3333
## 21 105515623 96.00000 68.80000 100.00000 180.0000 180.0000 180.0000
## 22 144727868 86.69231 31.38462 76.92308 168.4615 163.8462 147.6923
## 23 241502306 62.50000 19.30000 42.50000 140.0000 122.5000 117.5000
## 24 51848671 63.33333 20.33333 66.66667 150.0000 150.0000 150.0000
## 25 48563502 87.50000 26.50000 62.50000 105.0000 150.0000 150.0000
## 26 269102927 88.22222 28.11111 87.96296 154.6875 155.6250 153.1034
## 27 515459992 100.00000 56.00000 100.00000 180.0000 150.0000 180.0000
## 28 357142003 100.00000 25.00000 100.00000 150.0000 120.0000 NA
## 29 98577271 96.66667 19.20000 50.00000 140.0000 138.0000 133.6364
## 30 0 88.00000 100.00000 50.00000 180.0000 180.0000 180.0000
## 31 206392505 83.19231 24.26923 71.15385 153.4615 150.0000 137.1429
## 32 112865288 70.52632 21.14286 63.09524 151.5789 146.8421 164.0000
## 33 328338334 87.66667 66.66667 100.00000 168.0000 168.0000 168.0000
## 34 146737545 74.79167 25.70833 56.25000 147.5000 145.0000 155.4545
## 35 95632431 94.28571 33.28571 71.42857 171.4286 171.4286 171.4286
## 36 313906756 76.75000 30.50000 87.50000 180.0000 150.0000 180.0000
## 37 88004754 79.75000 50.50000 84.37500 176.2500 180.0000 162.8571
## 38 244087358 33.33333 34.00000 41.66667 165.0000 165.0000 170.0000
## 39 247425028 89.00000 73.00000 100.00000 180.0000 180.0000 180.0000
## 40 359660290 68.75000 39.00000 75.00000 176.2500 180.0000 180.0000
Kita dapat memeriksa data Kita menggunakan fungsi head ()
dan tails ()
, yang masing-masing akan menampilkan bagian data pertama dan terakhir function :head(dataset, jumlah baris yang ingin dilihat)
atau tail(dataset, jumlah baris yang ingin dilihat)
dataset yang kita gunakan adalah dataset regresi yang dipembelajaran sebelumnya sudah kita inputkan ke R
#melihat data 6 teratas
head(regresi, 6)
## Penjualan.Produk AVA1 AVA2 AVA3 EPA1 EPA2 EPA3
## 1 73733474 82.63889 25.25000 70.83333 155.8333 155.8333 155.7692
## 2 79373001 70.00000 19.00000 100.00000 180.0000 165.0000 NA
## 3 100201250 60.75000 34.50000 87.50000 165.0000 180.0000 180.0000
## 4 109651912 78.72727 30.36364 77.27273 160.9091 156.0000 165.0000
## 5 160834158 86.21212 19.24242 75.75758 150.0000 143.0769 148.3333
## 6 277128250 83.25000 21.00000 87.50000 160.0000 145.0000 144.0000
#melihat data 6 teratas
tail(regresi, 6)
## Penjualan.Produk AVA1 AVA2 AVA3 EPA1 EPA2 EPA3
## 35 95632431 94.28571 33.28571 71.42857 171.4286 171.4286 171.4286
## 36 313906756 76.75000 30.50000 87.50000 180.0000 150.0000 180.0000
## 37 88004754 79.75000 50.50000 84.37500 176.2500 180.0000 162.8571
## 38 244087358 33.33333 34.00000 41.66667 165.0000 165.0000 170.0000
## 39 247425028 89.00000 73.00000 100.00000 180.0000 180.0000 180.0000
## 40 359660290 68.75000 39.00000 75.00000 176.2500 180.0000 180.0000
Deskripsi | Fungsi R |
---|---|
Mean | mean() |
Standard deviation | sd() |
Variance | var() |
Minimum | min() |
Maximum | maximum() |
Median | median() |
Range of values (minimum and maximum) | range() |
Sample quantiles | quantile() |
Generic function | summary() |
Interquartile range | IQR() |
Example
Kita akan mengeluarkan semua statistik Deskriptif nya maka fungsi yang digunakan adalah summary
summary(regresi)
## Penjualan.Produk AVA1 AVA2 AVA3
## Min. : 0 Min. : 33.33 Min. : 13.50 Min. : 39.84
## 1st Qu.: 97841061 1st Qu.: 71.63 1st Qu.: 21.11 1st Qu.: 64.09
## Median :148092774 Median : 83.22 Median : 29.24 Median : 74.52
## Mean :185690230 Mean : 80.30 Mean : 35.95 Mean : 75.45
## 3rd Qu.:252844503 3rd Qu.: 88.06 3rd Qu.: 40.82 3rd Qu.: 88.37
## Max. :515459992 Max. :100.00 Max. :100.00 Max. :100.00
##
## EPA1 EPA2 EPA3
## Min. :105.0 Min. :120.0 Min. :117.5
## 1st Qu.:149.8 1st Qu.:145.0 1st Qu.:147.9
## Median :160.5 Median :156.0 Median :163.4
## Mean :159.1 Mean :156.9 Mean :159.6
## 3rd Qu.:174.9 3rd Qu.:169.0 3rd Qu.:175.8
## Max. :180.0 Max. :180.0 Max. :180.0
## NA's :2
Jika kita hanya ingin menampilkan summary deskriptif tapi untuk variabel Ava1 dan EPA1 maka : summary(dataset$nama_variabel)
summary(regresi$AVA1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 33.33 71.63 83.22 80.30 88.06 100.00
summary(regresi$EPA1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 105.0 149.8 160.5 159.1 174.9 180.0
Regression Model merupakan salah satu metode statistik yang dapat digunakan untuk melakukan prediksi. Dalam hal ini ingin melakukan prediksi penjualan produk dengan mempertimbangkan pengaruh dari AVA1, AVA2, AVA3, EPA1, EPA2 dan EPA3
Pada tutorial kali ini, akan membahas Multiple Linear Regression.
Variabel yang akan diprediksi (Dependent) : Penjualan produk
Variabel yang mempengaruhi prediksi (Indepedent) : AVA1, AVA2, AVA3, EPA1, EPA2, EPA3
Untuk membangun sebuah model regresi linear, maka fungsi yang digunakan adalah lm
. lm singkatan dari Linear Models
fungsi : lm(variabel Dependen ~ Varibel indepndent, data=dataset)
model = lm(Penjualan.Produk ~ AVA1 + AVA2 + AVA3 + EPA1 + EPA2 + EPA3, data=regresi)
summary(model)
##
## Call:
## lm(formula = Penjualan.Produk ~ AVA1 + AVA2 + AVA3 + EPA1 + EPA2 +
## EPA3, data = regresi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -140664861 -65272541 717262 54346917 199594741
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 376256334 246335667 1.527 0.13680
## AVA1 -2745417 1248155 -2.200 0.03542 *
## AVA2 996273 1000545 0.996 0.32709
## AVA3 4295840 1199676 3.581 0.00115 **
## EPA1 2312022 1422246 1.626 0.11416
## EPA2 -5763123 1896978 -3.038 0.00480 **
## EPA3 1341013 1749987 0.766 0.44929
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 89090000 on 31 degrees of freedom
## (2 observations deleted due to missingness)
## Multiple R-squared: 0.5141, Adjusted R-squared: 0.42
## F-statistic: 5.466 on 6 and 31 DF, p-value: 0.0005931
AVA1 = p-value < alpha 5%, maka AVA1 berpengaruh signifikan dalam model
AVA2 = p-value > alpha 5%, maka AVA2 tidak berpengaruh signifikan dalam model
AVA3 = p-value < alpha 5%, maka AVA3 berpengaruh signifikan dalam model
EPA1 = p-value > alpha 5%, maka EPA1 tidak berpengaruh signifikan dalam model
EPA2 = p-value < alpha 5%, maka EPA2 berpengaruh signifikan dalam model
EPA3 = p-value > alpha 5%, maka EPA3 tidak berpengaruh signifikan dalam model
Dengan Multiple R-squared: 0.5141
sehingga berdasarkan nilai diatas, maka model regresi untuk Penjualan Produk adalah :
Penjualan Produk = 376.256.334 - 2.745.417 AVA1 + 996.273 AVA2 + 4.295.840 AVA3 + 2.312.022 EPA1 - 5.763.123 EPA2 + 1.341.013 EPA3
yang artinya keragaman Penjualan Produk yang dapat dijelaskan oleh AVA1, AVA2, AVA3, EPA1, EPA2 dan EPA3 sebesar 51.41% sedangkan 48.59% dijelaskan oleh faktor lain diluar model ini.
2.3.1 Scatterplot
Selanjutnya kita akan menampilkan scatterplot dan korelasi secara keseluruhan untuk semua variabel, maka Install package ggplot2
dan GGally
#install.packages("ggplot2") dan ("GGally")
#memanggil package yang berhasil di install
library ("ggplot2")
library ("GGally")
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
Kita menggunakan sebuah fungsi ggpairs
. ggpairs : A ggplot2 generalized pairs plot
fungsi : ggpairs (dataset)
Example
ggpairs(regresi)
## Warning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :
## Removed 2 rows containing missing values
## Warning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :
## Removed 2 rows containing missing values
## Warning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :
## Removed 2 rows containing missing values
## Warning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :
## Removed 2 rows containing missing values
## Warning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :
## Removed 2 rows containing missing values
## Warning in ggally_statistic(data = data, mapping = mapping, na.rm = na.rm, :
## Removed 2 rows containing missing values
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing non-finite values (stat_density).
2.3.2 Plot residuals
Menampilkan plot residuals dari model regresi:
Kita akan mengatur layout 4 plot residual menjadi 1 plot dengan layout dibuat seperti matrix ukuran 2x2
fungsi : layout(matrix(c(plot1,plot2,plot3,plot4),ukuran matrix,byrow=T ))
layout(matrix(c(1,2,3,4),2,2,byrow=T))
plot(model)