Nama : Renata Amalia Putri
NIM : 220605110074
Kelas : B
Mata Kuliah : Linear Algebra
Dosen Pengampu : Prof. Dr. Suhartono, M.kom
Jurusan : Teknik Informatika
Instansi : UIN Maulana Malik Ibrahim Malang
1. Apa itu library MASS?
library (MASS) merupakan sebuah package dalam bahasa pemrograman R yang menyediakan fungsi dan kumpulan data untuk statistik matematika. Package ini dikembangkan oleh Venables dan Ripley serta termasuk fungsi untuk regresi linear dan nonlinear, menganalisis multivariat, analisis deret waktu, dan banyak fungsi statistik lainnya. Package ini juga termasuk kumpulan data untuk menguji dan mempraktikkan fungsi.
2. Bagaimana cara menggunakan library MASS dalam R?
Library MASS dalam R menyediakan berbagai macam fungsi dan kumpulan data untuk statistik matematika, termasuk regresi linear, analisis komponen utama, dan analisis multivariat. Untuk menggunakan library MASS, yang pertama harus dilakukan adalah mengunduhnya dengan perintah install.packages(“MASS”). Setelah itu, dapat memuatnya ke sesi R menggunakan library(MASS). Setelah library-nya dimuat, maka dapat menggunakan salah satu fungsi atau kumpulan datanya hanya dengan memanggilnya dengan nama, sebagai contoh lm() untuk regresi linear atau UScrime untuk kumpulan data tingkat kejahatan di US.
Kode di bawah ini merupakan salah satu contoh pengaplikasian library mvtnorm yang telah dibahas pada postingan sebelumnya. rmvnorm itu (n = n, mean = mu, sigma = sigma) yang akan menghasilkan sampel acak dengan ukuran n berasal dari distribusi normal multivariat dengan mean, mu, dan matriks kovarians sigma.
# Memuat package mvtnorm
library(mvtnorm)
# Mengatur rata-rata dan matriks kovarians
mu <- c(4, 2)
sigma <- matrix(c(1, 0.5, 0.5, 2), nrow = 2)
# Menghasilkan 500 sampel acak dari distribusi normal multivariat
set.seed(123) # Untuk kemampuan reproduksi
samples <- rmvnorm(n = 500, mean = mu, sigma = sigma)
# Memplot sampel
plot(samples, main = "Sampel Acak dari Distribusi Normal Multivariat")
library(mvtnorm)
# Menentukan parameter distribusi normal multivariat
mean <- c(2, 5) # rata-rata
sigma <- matrix(c(1, 0.5, 0.5, 2), nrow = 2) # matriks kovariansi
# Menghasilkan sampel dari distribusi normal multivariat
n <- 500 # jumlah sampel yang diinginkan
sampel <- rmvnorm(n, mean = mean, sigma = sigma)
# Menampilkan scatterplot dari sampel
plot(sampel[,1], sampel[,2], main = "Sampel dari Distribusi Normal Multivariat",
xlab = "Variabel 1", ylab = "Variabel 2", col = "red")
Data di atas menghasilkan 500 sampel dari distribusi normal multivariat dengan rata-rata adalah c(2,5) dan matriks kovariansi sigma adalah matrix(c(1, 0.5, 0.5, 2), nrow = 2). Dan, data di atas menampilkan scatterplot dari sampel dengan variabel 1 berada di sumbu x dan variabel 2 berada di sumbu y.
Selanjutnya, di bawah ini merupakan penggunaan dari library MASS, dapat diperhatikan kodenya berikut ini:
library(MASS)
# Menghasilkan sampel data multivariat normal dengan rata-rata = c(0,5) dan kovarians = matriks(2,2), serta n = 250
sampel <- rmvnorm(n = 250, mean = c(0, 5), sigma = matrix(c(2, 1, 1, 2), nrow = 2))
# Melihat data sampel
head(sampel)
## [,1] [,2]
## [1,] -0.6121384 5.136403
## [2,] -0.2935563 6.467261
## [3,] 0.0126702 4.223266
## [4,] -2.7038653 3.459347
## [5,] 2.5896604 4.982879
## [6,] -0.9030009 5.585946
d2 <- data.frame(sampel)
d2
## X1 X2
## 1 -0.61213840 5.136403
## 2 -0.29355628 6.467261
## 3 0.01267020 4.223266
## 4 -2.70386533 3.459347
## 5 2.58966044 4.982879
## 6 -0.90300092 5.585946
## 7 0.87793295 6.188269
## 8 0.03119893 6.431828
## 9 -1.61970363 4.504028
## 10 -0.71269863 5.672200
## 11 0.58377389 6.563475
## 12 2.86344798 5.945603
## 13 -1.03172797 3.679372
## 14 -0.38478714 4.808645
## 15 2.30756924 4.186658
## 16 -1.64268896 4.042562
## 17 1.10316895 6.336721
## 18 -1.19376251 4.841211
## 19 0.37888303 6.616982
## 20 1.37356160 4.972089
## 21 0.30174171 5.908471
## 22 -2.37228000 3.970942
## 23 0.59377470 4.495670
## 24 -0.08953908 4.949372
## 25 -1.35253356 3.376640
## 26 -0.40004472 4.452795
## 27 1.69937080 7.395158
## 28 0.12963780 5.540232
## 29 0.12392387 5.795699
## 30 0.38507032 5.403170
## 31 1.15884911 4.058513
## 32 2.10560303 6.006851
## 33 0.04194471 4.300881
## 34 -0.08708282 5.450480
## 35 -3.03925842 3.422934
## 36 0.69269161 4.812218
## 37 -1.32622131 3.838612
## 38 -0.27635102 2.853068
## 39 0.39623609 2.356072
## 40 -0.97570336 3.740454
## 41 -2.10016107 3.070532
## 42 0.29777168 4.927920
## 43 -1.26043084 1.719658
## 44 -1.85711747 4.335896
## 45 -1.49105599 3.590210
## 46 1.49796907 5.624017
## 47 -1.59747292 3.977676
## 48 -0.63819071 3.966418
## 49 -1.33588333 4.576366
## 50 1.09552441 5.581182
## 51 -0.13145384 5.456513
## 52 1.03308098 5.098649
## 53 0.20333270 3.601955
## 54 -0.49486903 4.334483
## 55 0.39807070 5.559726
## 56 -0.44931917 3.908085
## 57 -1.16806762 5.040167
## 58 1.56536199 4.421390
## 59 -0.40460728 5.310872
## 60 -0.71312707 4.963066
## 61 -0.34914531 3.922199
## 62 1.44554004 6.460407
## 63 1.86311955 7.106977
## 64 -0.86171524 4.180165
## 65 0.58745607 5.956319
## 66 -0.61889291 4.297388
## 67 -0.30205107 6.798422
## 68 -3.48755677 3.853032
## 69 -0.33564427 3.566533
## 70 -0.19350250 2.453984
## 71 0.69567949 3.077350
## 72 -3.28847556 3.150695
## 73 -0.01708420 4.169268
## 74 -0.64203876 5.250453
## 75 -1.47790867 4.495143
## 76 1.27827084 7.414328
## 77 1.28259027 7.517901
## 78 0.61784178 5.161441
## 79 -3.53074008 2.501136
## 80 -0.17500197 5.856231
## 81 -0.24157253 5.624590
## 82 -1.55353177 4.236150
## 83 0.16489145 4.588500
## 84 -0.09137986 4.125040
## 85 0.48169693 5.026297
## 86 -0.77757618 2.320686
## 87 -1.46549597 2.718529
## 88 -2.37422542 3.737610
## 89 -0.11584977 5.328549
## 90 1.65335430 6.006492
## 91 1.18987086 4.651490
## 92 -0.02331812 6.369691
## 93 -0.61336321 2.705185
## 94 -0.78761205 6.066536
## 95 -0.71223359 5.231948
## 96 -0.16225093 4.327169
## 97 -0.33580345 5.406703
## 98 0.73821064 6.763302
## 99 -0.61087650 3.665735
## 100 0.48479822 6.024230
## 101 2.94750507 5.201855
## 102 -0.12279234 6.086054
## 103 1.50917511 4.569207
## 104 0.70095812 4.471230
## 105 -1.08619403 5.499345
## 106 0.28798365 5.570817
## 107 -0.13597499 7.239506
## 108 0.77175952 4.732069
## 109 0.51542977 3.598166
## 110 0.32549447 6.866602
## 111 0.07530331 6.174633
## 112 -1.14428713 1.779608
## 113 -1.12086578 4.982082
## 114 1.75882750 4.718873
## 115 0.02384597 3.783048
## 116 -1.67302269 3.566117
## 117 2.21435094 6.785599
## 118 1.21924932 6.741047
## 119 -0.30175087 5.882251
## 120 -0.09763867 3.643631
## 121 -1.11693146 4.764184
## 122 0.16327054 4.636282
## 123 -2.12655192 1.779047
## 124 0.47280552 4.752298
## 125 0.18433204 3.089279
## 126 -1.75283902 4.389165
## 127 -2.65575066 1.774109
## 128 1.40015230 6.517426
## 129 -1.50653637 4.251370
## 130 -1.43321551 5.017184
## 131 -0.35878593 3.801432
## 132 -1.44634953 3.265787
## 133 0.80510207 5.939737
## 134 0.20575523 3.986391
## 135 -2.24563911 5.071406
## 136 -0.25628562 4.881381
## 137 1.08286355 4.157220
## 138 1.41151541 4.854309
## 139 -1.04954100 4.457901
## 140 0.45693067 4.859695
## 141 -1.33319738 4.285686
## 142 -3.65847065 3.374949
## 143 0.56090806 4.935682
## 144 1.11815507 5.915810
## 145 1.12209897 6.132497
## 146 -2.37342294 4.369318
## 147 2.05084359 4.940291
## 148 0.67102539 5.361617
## 149 0.66132292 4.832281
## 150 -0.85925381 4.861006
## 151 0.21604401 4.822897
## 152 0.19351400 5.573425
## 153 -0.64313594 6.272726
## 154 3.54698911 7.823434
## 155 -1.28796938 2.343561
## 156 0.39623815 6.222313
## 157 0.61279496 3.604941
## 158 -1.47163521 4.775258
## 159 1.17475819 6.421609
## 160 0.76090856 3.976541
## 161 -2.52968522 1.770400
## 162 0.99286076 6.316040
## 163 0.07111412 3.676139
## 164 2.00605784 5.068194
## 165 2.63203874 6.404402
## 166 1.74700339 5.887295
## 167 -0.45893490 3.593169
## 168 -0.78018724 4.731219
## 169 0.37316127 5.057868
## 170 -0.17595390 5.185504
## 171 -0.91247226 4.075962
## 172 -1.67877275 5.623203
## 173 0.03350221 4.902946
## 174 -1.10280518 4.390340
## 175 -1.86864248 3.168843
## 176 -2.26201018 5.638640
## 177 -0.23669839 3.520561
## 178 1.81837849 6.279184
## 179 0.93147528 4.963322
## 180 -0.61354376 4.711275
## 181 0.84560678 6.240831
## 182 1.98492254 4.886383
## 183 -1.35037041 4.766053
## 184 3.97138680 5.520667
## 185 1.47604953 5.087270
## 186 -0.91373293 3.854393
## 187 0.31236930 7.165398
## 188 0.59070513 5.776188
## 189 1.90404442 8.137050
## 190 0.53715603 3.334426
## 191 -1.99358369 2.450473
## 192 -3.41874584 5.720535
## 193 -0.52987005 5.358824
## 194 1.42677624 4.733326
## 195 -0.05616658 5.429057
## 196 0.02513770 4.024943
## 197 1.19802915 6.012849
## 198 -0.84145153 3.224617
## 199 1.38765824 7.181844
## 200 2.20522839 6.697345
## 201 -0.85446125 4.097327
## 202 -0.95348419 4.222503
## 203 1.06261330 5.609824
## 204 -3.21685806 1.778915
## 205 0.02368944 5.196462
## 206 -3.45090900 3.040118
## 207 0.57270001 7.006925
## 208 -3.20915432 2.548270
## 209 -1.41152718 4.844176
## 210 0.33455438 4.683026
## 211 -2.43328015 3.548496
## 212 -0.83978799 4.518117
## 213 1.96918718 4.669531
## 214 -0.15401460 4.064323
## 215 -1.46140966 5.414766
## 216 -0.43402942 8.351808
## 217 0.14849766 5.116188
## 218 0.58391865 7.494109
## 219 0.81507235 4.900155
## 220 -1.97324565 3.154216
## 221 -0.62761334 6.372324
## 222 -0.53530756 3.896475
## 223 1.57434343 7.127464
## 224 -1.11160427 4.137995
## 225 0.46989378 5.119765
## 226 1.18254713 7.490379
## 227 -0.18523373 4.594451
## 228 0.64502713 5.110268
## 229 0.77556389 4.923828
## 230 0.03349447 3.026231
## 231 -0.16995541 4.299925
## 232 -1.77750523 3.999968
## 233 0.54195442 5.262302
## 234 1.29170946 6.539125
## 235 1.01293163 4.859978
## 236 -1.91690483 4.130916
## 237 1.55331560 5.262184
## 238 -2.05672325 5.071952
## 239 0.23834133 4.555919
## 240 0.73804689 6.934073
## 241 1.60771861 4.852226
## 242 -0.51766509 3.017581
## 243 -0.25906253 7.476931
## 244 1.96240623 5.235142
## 245 -1.44614382 2.879698
## 246 2.94619823 5.934776
## 247 -0.41674927 6.255267
## 248 -1.23612123 5.590029
## 249 1.89133782 5.240297
## 250 2.21731076 6.407581
Kode df <- data.frame(x,y) mengubah matriks x,y menjadi bingkai data, dan setiap kolom sesuai dengan variabel dalam distribusi multivariat.
Bingkai data yang dihasilkan oleh df dapat digunakan sebagai analisis dan visualisasi.
library(ggplot2)
# Membuat data frame
df <- data.frame(
x = c(6, 5, 4, 3, 2),
y = c(1, 2, 3, 3, 4)
)
# Membuat scatter plot dengan ggplot
ggplot(data = df, aes(x = x, y = y)) +
geom_point()
Kode di atas membuat scatterplot berdasarkan dari df <- data.frame, dengan sumbu x terisi oleh kolom x, dan sumbu y terisi oleh kolom y. Kegunaan dari fungsi geom_point() untuk membuat titik atau point pada scatterplot.
ggplot(data = df, aes(x = x, y = y)) +
geom_point(color = "blue", size = 5, shape = 5)
Serta dapat mengubah warna, ukuran, dan bentuk titik tersebut dengan menggunakan argumen tambahan pada fungsi geom_point(). Seperti, mengubah warna titik menjadi biru (“blue”), ukurannya menjadi 5, dan bentuknya berupa belah ketupat.
library(ggplot2)
# Membuat data frame
df <- data.frame(
x = c(10, 11, 12, 13, 15),
y = c(6, 5, 4, 3, 1)
)
# Membuat scatter plot dengan ggplot
ggplot(data = df, aes(x = x, y = y)) +
geom_point()
ggplot(data = df, aes(x = x, y = y)) +
geom_point(color = "purple", size = 4, shape = 7)
Contoh kedua dapat mengubah warna, ukuran, dan bentuk titik tersebut dengan menggunakan argumen tambahan pada fungsi geom_point(). Seperti, mengubah warna titik menjadi ungu (“purple”), ukurannya menjadi 4, dan bentuknya berubah juga tidak seperti di contoh sebelumnya.
Daftar Pustaka
Yoshida, Ruriko. (2021). Linear Algebra and Its Applications with R. CRC Press.