Berikut penggunaan R untuk menghasilkan
Variance-Covariance Matrix
Correlation Matrix
Eigen value dan eigen vector
Membuat DataFrame
data <- data.frame(
Gender = c(1, 0, 0, 1, 1),
Age = c(30.83, 58.67, 24.50, 27.83, 20.17),
Debt = c(0.000, 4.460, 0.500, 1.540, 5.625),
Married = c(1, 1, 1, 1, 1),
BankCustomer = c(1, 1, 1, 1, 1),
Industry = c("Industrials", "Materials", "Materials", "Industrials", "Industrials"),
YearsEmployed = c(1.25, 3.04, 1.50, 3.75, 1.71),
PriorDefault = c(1, 1, 1, 1, 1),
Employed = c(1, 1, 0, 1, 0),
CreditScore = c(1, 6, 0, 5, 0),
DriversLicense = c(0, 0, 0, 1, 0),
Citizen = c("ByBirth", "ByBirth", "ByBirth", "ByBirth", "ByOtherMeans"),
ZipCode = c(202, 43, 280, 100, 120),
Income = c(0, 560, 824, 3, 0),
Approved = c(1, 1, 1, 1, 1)
)
Menampilkan Data
print(data)
## Gender Age Debt Married BankCustomer Industry YearsEmployed
## 1 1 30.83 0.000 1 1 Industrials 1.25
## 2 0 58.67 4.460 1 1 Materials 3.04
## 3 0 24.50 0.500 1 1 Materials 1.50
## 4 1 27.83 1.540 1 1 Industrials 3.75
## 5 1 20.17 5.625 1 1 Industrials 1.71
## PriorDefault Employed CreditScore DriversLicense Citizen ZipCode Income
## 1 1 1 1 0 ByBirth 202 0
## 2 1 1 6 0 ByBirth 43 560
## 3 1 0 0 0 ByBirth 280 824
## 4 1 1 5 1 ByBirth 100 3
## 5 1 0 0 0 ByOtherMeans 120 0
## Approved
## 1 1
## 2 1
## 3 1
## 4 1
## 5 1
Menampilkan struktur data
str(data)
## 'data.frame': 5 obs. of 15 variables:
## $ Gender : num 1 0 0 1 1
## $ Age : num 30.8 58.7 24.5 27.8 20.2
## $ Debt : num 0 4.46 0.5 1.54 5.62
## $ Married : num 1 1 1 1 1
## $ BankCustomer : num 1 1 1 1 1
## $ Industry : chr "Industrials" "Materials" "Materials" "Industrials" ...
## $ YearsEmployed : num 1.25 3.04 1.5 3.75 1.71
## $ PriorDefault : num 1 1 1 1 1
## $ Employed : num 1 1 0 1 0
## $ CreditScore : num 1 6 0 5 0
## $ DriversLicense: num 0 0 0 1 0
## $ Citizen : chr "ByBirth" "ByBirth" "ByBirth" "ByBirth" ...
## $ ZipCode : num 202 43 280 100 120
## $ Income : num 0 560 824 3 0
## $ Approved : num 1 1 1 1 1
numeric_data <- data[sapply(data, is.numeric)]
cov_matrix <- cov(numeric_data)
cov_matrix
## Gender Age Debt Married BankCustomer
## Gender 0.3000 -4.592500 -0.027500 0 0
## Age -4.5925 231.361400 9.345663 0 0
## Debt -0.0275 9.345663 6.187675 0 0
## Married 0.0000 0.000000 0.000000 0 0
## BankCustomer 0.0000 0.000000 0.000000 0 0
## YearsEmployed -0.0100 6.999375 0.605225 0 0
## PriorDefault 0.0000 0.000000 0.000000 0 0
## Employed 0.0500 5.032500 -0.318750 0 0
## CreditScore -0.3000 33.300000 1.340000 0 0
## DriversLicense 0.1000 -1.142500 -0.221250 0 0
## ZipCode -6.2500 -831.032500 -161.461250 0 0
## Income -207.3000 2046.972500 -112.313750 0 0
## Approved 0.0000 0.000000 0.000000 0 0
## YearsEmployed PriorDefault Employed CreditScore DriversLicense
## Gender -0.010000 0 0.05000 -0.30 0.10000
## Age 6.999375 0 5.03250 33.30 -1.14250
## Debt 0.605225 0 -0.31875 1.34 -0.22125
## Married 0.000000 0 0.00000 0.00 0.00000
## BankCustomer 0.000000 0 0.00000 0.00 0.00000
## YearsEmployed 1.182050 0 0.32250 2.81 0.37500
## PriorDefault 0.000000 0 0.00000 0.00 0.00000
## Employed 0.322500 0 0.30000 1.20 0.10000
## CreditScore 2.810000 0 1.20000 8.30 0.65000
## DriversLicense 0.375000 0 0.10000 0.65 0.20000
## ZipCode -73.207500 0 -25.50000 -207.00 -12.25000
## Income -42.775000 0 -67.30000 11.55 -68.60000
## Approved 0.000000 0 0.00000 0.00 0.00000
## ZipCode Income Approved
## Gender -6.2500 -207.3000 0
## Age -831.0325 2046.9725 0
## Debt -161.4613 -112.3137 0
## Married 0.0000 0.0000 0
## BankCustomer 0.0000 0.0000 0
## YearsEmployed -73.2075 -42.7750 0
## PriorDefault 0.0000 0.0000 0
## Employed -25.5000 -67.3000 0
## CreditScore -207.0000 11.5500 0
## DriversLicense -12.2500 -68.6000 0
## ZipCode 8612.0000 12109.2500 0
## Income 12109.2500 151957.8000 0
## Approved 0.0000 0.0000 0
filtered_data <- numeric_data[, sapply(numeric_data, sd) != 0]
cor_matrix <- cor(filtered_data)
print(cor_matrix)
## Gender Age Debt YearsEmployed Employed
## Gender 1.00000000 -0.5512430 -0.02018405 -0.01679274 0.1666667
## Age -0.55124300 1.0000000 0.24700224 0.42324895 0.6040567
## Debt -0.02018405 0.2470022 1.00000000 0.22378717 -0.2339515
## YearsEmployed -0.01679274 0.4232489 0.22378717 1.00000000 0.5415657
## Employed 0.16666667 0.6040567 -0.23395149 0.54156572 1.0000000
## CreditScore -0.19011728 0.7599058 0.18698295 0.89711754 0.7604691
## DriversLicense 0.40824829 -0.1679561 -0.19888615 0.77125563 0.4082483
## ZipCode -0.12296100 -0.5887359 -0.69944336 -0.72558057 -0.5016809
## Income -0.97090598 0.3452272 -0.11582643 -0.10092775 -0.3152049
## CreditScore DriversLicense ZipCode Income
## Gender -0.19011728 0.4082483 -0.1229610 -0.97090598
## Age 0.75990576 -0.1679561 -0.5887359 0.34522724
## Debt 0.18698295 -0.1988861 -0.6994434 -0.11582643
## YearsEmployed 0.89711754 0.7712556 -0.7255806 -0.10092775
## Employed 0.76046910 0.4082483 -0.5016809 -0.31520488
## CreditScore 1.00000000 0.5044978 -0.7742466 0.01028446
## DriversLicense 0.50449784 1.0000000 -0.2951679 -0.39350261
## ZipCode -0.77424657 -0.2951679 1.0000000 0.33473701
## Income 0.01028446 -0.3935026 0.3347370 1.00000000
numeric_data <- data[sapply(data, is.numeric)]
cov_matrix <- cov(numeric_data)
eigen <- eigen(cov_matrix)
print(eigen$values)
## [1] 1.529994e+05 7.738334e+03 7.511641e+01 4.764847e+00 1.428925e-15
## [6] 7.068017e-16 2.907859e-16 1.352967e-16 0.000000e+00 -1.114266e-29
## [11] -7.400993e-16 -8.157149e-14 -6.285216e-13
print(eigen$vectors)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1.353862e-03 1.453049e-03 5.913574e-03 1.118217e-02 0.000000e+00
## [2,] -1.289706e-02 -1.315606e-01 -9.782888e-01 -1.341870e-01 -2.727247e-05
## [3,] 8.188103e-04 -1.960516e-02 1.279117e-01 -6.284314e-01 -1.098151e-03
## [4,] 0.000000e+00 -6.938894e-18 -3.330669e-16 2.248202e-15 2.587289e-01
## [5,] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -9.528872e-01
## [6,] 3.179447e-04 -9.024824e-03 1.839390e-02 3.274493e-01 9.139571e-02
## [7,] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -8.491124e-14
## [8,] 4.517900e-04 -2.638214e-03 -4.506051e-02 1.144286e-01 3.247698e-02
## [9,] 3.495244e-05 -2.713567e-02 -8.389376e-02 6.595999e-01 -1.878131e-02
## [10,] 4.535469e-04 -8.272893e-04 1.328613e-02 1.774107e-01 -1.237069e-01
## [11,] -8.349349e-02 9.873755e-01 -1.281363e-01 -8.616975e-03 2.739021e-04
## [12,] -9.964233e-01 -8.105205e-02 2.350098e-02 2.217912e-03 -3.657910e-05
## [13,] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
## [,6] [,7] [,8] [,9] [,10]
## [1,] 0.000000e+00 0.000000e+00 0.000000e+00 0 0.000000e+00
## [2,] 5.242768e-04 3.652528e-03 4.002876e-05 0 7.806320e-16
## [3,] 6.507362e-03 -1.160480e-02 -1.051641e-02 0 1.828475e-15
## [4,] 8.176764e-01 5.054585e-01 8.839162e-02 0 3.327417e-14
## [5,] 2.375928e-01 7.257514e-02 1.739289e-01 0 1.787417e-14
## [6,] -3.248708e-02 -5.330671e-02 5.908822e-01 0 -2.690056e-13
## [7,] -2.235712e-14 2.197478e-13 -4.236195e-13 0 -1.000000e+00
## [8,] -4.105833e-01 5.240154e-01 5.016899e-01 0 -9.106015e-14
## [9,] 1.683120e-01 -2.452511e-01 -2.425388e-01 0 4.666045e-14
## [10,] -2.773791e-01 6.336318e-01 -5.496955e-01 0 3.887802e-13
## [11,] 3.150517e-03 -4.969492e-03 -5.722782e-04 0 -9.436491e-16
## [12,] -5.823117e-04 8.599930e-04 1.960920e-04 0 1.219460e-16
## [13,] 0.000000e+00 0.000000e+00 0.000000e+00 1 0.000000e+00
## [,11] [,12] [,13]
## [1,] 9.999180e-01 0.000000e+00 0.000000000
## [2,] 7.494924e-03 4.914855e-02 -0.070604555
## [3,] 6.298706e-03 -2.589795e-01 -0.721753890
## [4,] -2.341877e-17 -3.280482e-02 0.009334565
## [5,] 0.000000e+00 -5.777257e-03 0.001963798
## [6,] -3.757992e-03 5.438403e-01 -0.484962653
## [7,] 0.000000e+00 0.000000e+00 0.000000000
## [8,] -1.009952e-03 -5.336627e-01 0.064446586
## [9,] -6.840824e-03 -4.991498e-01 -0.400376380
## [10,] -2.061986e-03 3.156319e-01 -0.269858023
## [11,] -4.676045e-04 -8.508584e-03 -0.038955782
## [12,] 1.303123e-03 -7.828034e-05 0.003322587
## [13,] 0.000000e+00 0.000000e+00 0.000000000
Untuk mempublikasikan tugas pada Rpubs, maka perlu menggunakan R markdown dengan langkah-langkah berikut;
1. Buka RStudio Pastikan rmarkdown sudah terinstall. Apabila belum, jalankan perintah berikut di RStudio;
install.packages(“rmarkdown”)
2. Buat R Markdown baru klik File > New File > R Markdown. Kemudian isi Title dan Author, lalu klik OK.
3. Isi R Markdown Masukkan kode dan analisis lainnya kemudian jalankan kodenya
4. Kompilasi ke HTML: klik knit > Pilih Knit to HTML
5. Publikasikan ke Rpubs: Setelah selesai, klik Publish di RStudio. Login ke Rpubs dan upload hasilnya