Vector Spaces (Ruang Vektor) adalah struktur matematika yang terdiri dari vektor-vektor dan operasi yang didefinisikan atas vektor-vektor tersebut. Secara intuitif, ruang vektor adalah himpunan objek yang dapat dijumlahkan dan dikalikan dengan skalar. Setiap vektor dalam ruang vektor memiliki elemen yang terkait, dan operasi penjumlahan dan perkalian dengan skalar memenuhi sejumlah sifat tertentu. Vector Subspaces (Subruang Vektor) adalah subset dari suatu ruang vektor yang juga merupakan ruang vektor itu sendiri. Subruang vektor terbentuk dengan mengambil sebagian vektor-vektor dari ruang vektor asli dan menjalani operasi yang sama dengan ruang vektor tersebut. Dalam kata lain, jika suatu himpunan vektor memenuhi semua persyaratan untuk menjadi ruang vektor, termasuk penjumlahan vektor dan perkalian dengan skalar, maka himpunan tersebut merupakan subruang vektor dari ruang vektor yang lebih besar.

Panggil Library

library(rgl)

Kode ini digunakan untuk memuat paket rgl yang digunakan untuk membuat visualisasi grafik 3D.

# Buat beberapa data palsu.
dat <-replicate(2,1:3)

# Inisialisasi adegan, tanpa data yang digambarkan.
plot3d(dat, type='n',xlim=c(-1,8),ylim=c(-1,8),
zlim =c(-10,20),xlab='',ylab='',zlab='')

Kode ini digunakan untuk membuat plot 3D tanpa data yang digambarkan. Sebuah adegan kosong dibuat dengan batas sumbu x, y, dan z tertentu.

# Definisikan bidang linear.
planes3d(2, 3,-1,0,col='red',alpha=0.6)

# Definisikan titik asal.
points3d(x=0, y=0,z=0)

Kode ini digunakan untuk menggambar bidang linear dalam plot 3D dengan menggunakan fungsi planes3d(). Bidang linear didefinisikan dengan koefisien 2, 3, -1, dan 0. Selain itu, titik asal (0, 0, 0) juga ditambahkan ke dalam plot menggunakan fungsi points3d().

library(magick)
## Linking to ImageMagick 6.9.12.3
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11

Blok kode keempat library(magick): Kode ini digunakan untuk memuat paket magick, yang merupakan paket untuk memanipulasi gambar.

# Reading from a local computer.
inp_img <- image_read("gambar.png")
plot(inp_img)

Kode ini digunakan untuk membaca gambar dari komputer lokal menggunakan fungsi image_read() dari paket magick. Selanjutnya, gambar tersebut ditampilkan dalam plot menggunakan fungsi plot().

Aplikasi yang Praktis

library(ISLR)

Blok kode keenam library(ISLR): Kode ini digunakan untuk memuat paket ISLR, yang berisi kumpulan dataset yang digunakan dalam buku “An Introduction to Statistical Learning with Applications in R”.

# Memuat data Auto
data(Auto)

Blok kode ketujuh data(Auto): Kode ini digunakan untuk memuat dataset “Auto” dari paket ISLR.

# Mengaplikasikan PCA dengan prcomp()
pca_result <- prcomp(Auto[, -9], scale = TRUE)
pca_result
## Standard deviations (1, .., p=8):
## [1] 2.3185927 0.9714233 0.9009127 0.6972488 0.4275822 0.3381153 0.2314019
## [8] 0.1788003
## 
## Rotation (n x k) = (8 x 8):
##                     PC1         PC2           PC3         PC4         PC5
## mpg           0.3858624  0.07663269 -0.2922857863  0.09998251  0.74036644
## cylinders    -0.4023885  0.13842878 -0.0722393515 -0.21603551  0.48261485
## displacement -0.4164443  0.12632499 -0.0742362247 -0.13581398  0.30331627
## horsepower   -0.4018359 -0.11148007 -0.2360557124 -0.11971643 -0.08426839
## weight       -0.4015758  0.21102000  0.0008939861 -0.32246785 -0.13127292
## acceleration  0.2647309  0.41690206  0.6394351361 -0.49280794  0.09773197
## year          0.2138678  0.69046320 -0.5871891991 -0.10601968 -0.30134385
## origin        0.2778682 -0.50150064 -0.3073238207 -0.74328281 -0.04739508
##                       PC6         PC7         PC8
## mpg          -0.387351653  0.19588516  0.11513210
## cylinders     0.530925481 -0.27878265  0.41774679
## displacement  0.006997047  0.08422855 -0.82916553
## horsepower   -0.666709602 -0.53504996  0.13477548
## weight       -0.235859612  0.72202073  0.30991105
## acceleration -0.202933431 -0.22891382 -0.03518826
## year          0.110025917 -0.12501506 -0.05428840
## origin        0.120866629  0.03452660 -0.07951102

Kode ini digunakan untuk melakukan Principal Component Analysis (PCA) pada dataset “Auto”. Fungsi prcomp() digunakan untuk menghitung komponen-komponen utama dari dataset. Hasilnya disimpan dalam variabel pca_result dan dicetak untuk dilihat.

# Melihat hasil komponen utama
summary(pca_result)
## Importance of components:
##                          PC1    PC2    PC3     PC4     PC5     PC6     PC7
## Standard deviation     2.319 0.9714 0.9009 0.69725 0.42758 0.33812 0.23140
## Proportion of Variance 0.672 0.1180 0.1015 0.06077 0.02285 0.01429 0.00669
## Cumulative Proportion  0.672 0.7899 0.8914 0.95217 0.97502 0.98931 0.99600
##                           PC8
## Standard deviation     0.1788
## Proportion of Variance 0.0040
## Cumulative Proportion  1.0000

Blok kode kesembilan summary(pca_result): Kode ini digunakan untuk melihat ringkasan statistik dari hasil PCA yang disimpan dalam variabel pca_result.

# Menghapus kolom non-numerik
Auto_numeric <- Auto[, sapply(Auto, is.numeric)]

# Melakukan PCA dengan prcomp
pc <- prcomp(Auto_numeric, scale = TRUE)

Kode ini digunakan untuk membuat dataset baru (Auto_numeric) dengan menghapus kolom non-numerik dari dataset “Auto”. Selanjutnya, PCA dilakukan pada dataset baru menggunakan fungsi prcomp(), dan hasilnya disimpan dalam variabel pc.

# Plot hasil PCA
plot(pc)

Blok kode kesebelas plot(pc): Kode ini digunakan untuk membuat plot hasil PCA dari variabel pc. Plot ini menunjukkan titik-titik data dalam ruang yang dibentuk oleh komponen utama.

plot(cumsum(pc$sdev^2/sum(pc$sdev^2)))

Blok kode keduabelas plot(cumsum(pc\(sdev^2/sum(pc\)sdev^2))): Kode ini digunakan untuk membuat plot grafik garis yang menunjukkan akumulasi varians yang dijelaskan oleh komponen utama. Ini membantu dalam menentukan jumlah komponen utama yang signifikan.

# Memuat paket ggfortify
library(ggfortify)
## Loading required package: ggplot2

Blok kode ketigabelas library(ggfortify): Kode ini digunakan untuk memuat paket ggfortify, yang menyediakan fungsi visualisasi yang ditingkatkan untuk analisis PCA.

# Plot hasil PCA
autoplot(pc, data = Auto_numeric, colour = "origin")

Blok kode keempatbelas autoplot(pc, data = Auto_numeric, colour = “origin”): Kode ini digunakan untuk membuat plot PCA menggunakan fungsi autoplot() dari paket ggfortify. Data yang digunakan adalah Auto_numeric, dan pewarnaan dilakukan berdasarkan variabel “origin” dalam dataset “Auto”.