Membuat DataFrame

data <- data.frame(
  Gender = c(0, 1, 0, 1, 0),
  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(0, 1, 1, 0, 1),
  BankCustomer = c(0, 0, 0, 0, 0),
  Industry = c("Industrials", "Materials", "Materials", "Industrials", "Industrials"),
  YearsEmployed = c(1.25, 3.04, 1.50, 3.75, 1.71),
  PriorDefault = c(1, 0, 1, 1, 0),
  Employed = c(1, 1, 0, 1, 0),
  CreditScore = c(1, 0, 0, 1, 0),
  DriversLicense = c(0, 0, 0, 0, 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)
)
print(data)
##   Gender   Age  Debt Married BankCustomer    Industry YearsEmployed
## 1      0 30.83 0.000       0            0 Industrials          1.25
## 2      1 58.67 4.460       1            0   Materials          3.04
## 3      0 24.50 0.500       1            0   Materials          1.50
## 4      1 27.83 1.540       0            0 Industrials          3.75
## 5      0 20.17 5.625       1            0 Industrials          1.71
##   PriorDefault Employed CreditScore DriversLicense      Citizen ZipCode Income
## 1            1        1           1              0      ByBirth     202      0
## 2            0        1           0              0      ByBirth      43    560
## 3            1        0           0              0      ByBirth     280    824
## 4            1        1           1              0      ByBirth     100      3
## 5            0        0           0              0 ByOtherMeans     120      0
##   Approved
## 1        1
## 2        1
## 3        1
## 4        1
## 5        1

Menghapus Kolom Non-Numerik

numeric_data <- data[, c("Age", "Debt", "YearsEmployed", "PriorDefault", 
                         "Employed", "CreditScore", "DriversLicense", 
                         "ZipCode", "Income", "Approved")]

Menghitung Matriks Kovarians dan Eigenvalues/Vectors

cov_matrix <- cov(numeric_data)
eigen_values_vectors <- eigen(cov_matrix)

cat("\nEigenvalues:\n")
## 
## Eigenvalues:
print(eigen_values_vectors$values)
##  [1]  1.529992e+05  7.732784e+03  7.465076e+01  2.768237e+00  1.831150e-16
##  [6]  0.000000e+00 -9.628879e-29 -4.829818e-13 -9.112603e-13 -3.509771e-12
cat("\nEigenvectors:\n")
## 
## Eigenvectors:
print(eigen_values_vectors$vectors)
##                [,1]         [,2]        [,3]         [,4]          [,5] [,6]
##  [1,] -1.289706e-02 -0.131586476  0.98198717  0.110182172  0.000000e+00    0
##  [2,]  8.188076e-04 -0.019622545 -0.12630547  0.832105020  1.976651e-03    0
##  [3,]  3.179444e-04 -0.009024652 -0.01944400 -0.428620763  8.165511e-04    0
##  [4,] -9.661344e-06  0.004387940  0.01369158 -0.222548298 -4.845243e-01    0
##  [5,]  4.517910e-04 -0.002636768  0.04484877 -0.153062476 -3.226031e-01    0
##  [6,]  8.979961e-04  0.001602367  0.02628533 -0.194932844  8.131165e-01    0
##  [7,]  0.000000e+00  0.000000000  0.00000000  0.000000000  2.040867e-13    0
##  [8,] -8.349350e-02  0.987732571  0.12623339  0.027905404  6.713591e-05    0
##  [9,] -9.964240e-01 -0.081080853 -0.02335379 -0.003460315  5.874810e-04    0
## [10,]  0.000000e+00  0.000000000  0.00000000  0.000000000  0.000000e+00    1
##                [,7]          [,8]          [,9]        [,10]
##  [1,]  0.000000e+00  0.0000000000  0.000000e+00  0.077972774
##  [2,] -3.957580e-16 -0.2442134193 -2.929014e-01  0.381873134
##  [3,] -1.727886e-16  0.1954023601 -2.824646e-01  0.835377547
##  [4,]  9.891425e-14 -0.8023817266  2.221474e-01  0.149451818
##  [5,]  6.584381e-14 -0.0661375065 -8.611397e-01 -0.352909010
##  [6,] -1.659373e-13 -0.5039696933 -2.082853e-01 -0.052727401
##  [7,]  1.000000e+00  0.0000000000  0.000000e+00  0.000000000
##  [8,] -1.373606e-17  0.0010813845 -1.134423e-02  0.023869572
##  [9,] -1.198799e-16 -0.0007053387  3.943173e-05 -0.002637957
## [10,]  0.000000e+00  0.0000000000  0.000000e+00  0.000000000

Matriks Varians-Kovarians

print("Variance-Covariance Matrix:")
## [1] "Variance-Covariance Matrix:"
print(cov_matrix)
##                        Age        Debt YearsEmployed PriorDefault  Employed
## Age             231.361400    9.345663      6.999375     -3.51000   5.03250
## Debt              9.345663    6.187675      0.605225     -1.30875  -0.31875
## YearsEmployed     6.999375    0.605225      1.182050     -0.06250   0.32250
## PriorDefault     -3.510000   -1.308750     -0.062500      0.30000   0.05000
## Employed          5.032500   -0.318750      0.322500      0.05000   0.30000
## CreditScore      -1.535000   -0.827500      0.125000      0.20000   0.20000
## DriversLicense    0.000000    0.000000      0.000000      0.00000   0.00000
## ZipCode        -831.032500 -161.461250    -73.207500     33.75000 -25.50000
## Income         2046.972500 -112.313750    -42.775000     -1.30000 -67.30000
## Approved          0.000000    0.000000      0.000000      0.00000   0.00000
##                CreditScore DriversLicense    ZipCode      Income Approved
## Age                -1.5350              0  -831.0325   2046.9725        0
## Debt               -0.8275              0  -161.4613   -112.3137        0
## YearsEmployed       0.1250              0   -73.2075    -42.7750        0
## PriorDefault        0.2000              0    33.7500     -1.3000        0
## Employed            0.2000              0   -25.5000    -67.3000        0
## CreditScore         0.3000              0     1.0000   -137.9500        0
## DriversLicense      0.0000              0     0.0000      0.0000        0
## ZipCode             1.0000              0  8612.0000  12109.2500        0
## Income           -137.9500              0 12109.2500 151957.8000        0
## Approved            0.0000              0     0.0000      0.0000        0

Menghapus Kolom dengan Standar Deviasi Nol

numeric_data_clean <- numeric_data[, sapply(numeric_data, sd) > 0]

Menghitung Matriks Korelasi dengan Data yang Sudah Dibersihkan

cor_matrix <- cor(numeric_data_clean)
cat("\nCorrelation Matrix:\n")
## 
## Correlation Matrix:
print(cor_matrix)
##                      Age       Debt YearsEmployed PriorDefault   Employed
## Age            1.0000000  0.2470022     0.4232489 -0.421309292  0.6040567
## Debt           0.2470022  1.0000000     0.2237872 -0.960577301 -0.2339515
## YearsEmployed  0.4232489  0.2237872     1.0000000 -0.104954597  0.5415657
## PriorDefault  -0.4213093 -0.9605773    -0.1049546  1.000000000  0.1666667
## Employed       0.6040567 -0.2339515     0.5415657  0.166666667  1.0000000
## CreditScore   -0.1842478 -0.6073564     0.2099092  0.666666667  0.6666667
## ZipCode       -0.5887359 -0.6994434    -0.7255806  0.663989389 -0.5016809
## Income         0.3452272 -0.1158264    -0.1009278 -0.006088653 -0.3152049
##               CreditScore     ZipCode       Income
## Age           -0.18424780 -0.58873594  0.345227241
## Debt          -0.60735642 -0.69944336 -0.115826433
## YearsEmployed  0.20990919 -0.72558057 -0.100927751
## PriorDefault   0.66666667  0.66398939 -0.006088653
## Employed       0.66666667 -0.50168087 -0.315204884
## CreditScore    1.00000000  0.01967376 -0.646099759
## ZipCode        0.01967376  1.00000000  0.334737013
## Income        -0.64609976  0.33473701  1.000000000