This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
numeric_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),
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),
ZipCode = c(202, 43, 280, 100, 120),
Income = c(0, 560, 824, 3, 0),
Approved = c(1, 1, 1, 1, 1)
)
print(numeric_data)
## Gender Age Debt Married BankCustomer YearsEmployed PriorDefault Employed
## 1 1 30.83 0.000 1 1 1.25 1 1
## 2 0 58.67 4.460 1 1 3.04 1 1
## 3 0 24.50 0.500 1 1 1.50 1 0
## 4 1 27.83 1.540 1 1 3.75 1 1
## 5 1 20.17 5.625 1 1 1.71 1 0
## CreditScore DriversLicense ZipCode Income Approved
## 1 1 0 202 0 1
## 2 6 0 43 560 1
## 3 0 0 280 824 1
## 4 5 1 100 3 1
## 5 0 0 120 0 1
# menghapus kolom dengan sd 0
numeric_data_filtered <- numeric_data[, apply(numeric_data, 2, sd) > 0]
cov_matrix <- cov(numeric_data_filtered)
eigen_values <- eigen(cov_matrix)$values
eigen_vectors <- eigen(cov_matrix)$vectors
print("Eigenvalues:")
## [1] "Eigenvalues:"
print(eigen_values)
## [1] 1.529994e+05 7.738334e+03 7.511641e+01 4.764847e+00 4.928271e-16
## [6] -7.387569e-16 -3.028345e-15 -8.582818e-14 -6.296730e-13
print("Eigenvectors:")
## [1] "Eigenvectors:"
print(eigen_vectors)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1.353862e-03 0.0014530489 -0.005913574 -0.011182168 0.000000000
## [2,] -1.289706e-02 -0.1315605673 0.978288786 0.134187032 0.003123694
## [3,] 8.188103e-04 -0.0196051644 -0.127911661 0.628431417 -0.014229289
## [4,] 3.179447e-04 -0.0090248237 -0.018393904 -0.327449291 -0.003321056
## [5,] 4.517900e-04 -0.0026382137 0.045060511 -0.114428577 0.678436205
## [6,] 3.495244e-05 -0.0271356684 0.083893765 -0.659599945 -0.308349386
## [7,] 4.535469e-04 -0.0008272893 -0.013286134 -0.177410704 0.666622569
## [8,] -8.349349e-02 0.9873755472 0.128136339 0.008616975 -0.005914059
## [9,] -9.964233e-01 -0.0810520549 -0.023500980 -0.002217912 0.001042599
## [,6] [,7] [,8] [,9]
## [1,] 0.9999180189 0.0000000000 0.000000e+00 0.000000000
## [2,] 0.0074949240 0.0004432908 -4.882136e-02 -0.070857051
## [3,] 0.0062987060 0.0136029009 2.625133e-01 -0.720407592
## [4,] -0.0037579919 -0.6010410339 -5.394187e-01 -0.490009209
## [5,] -0.0010099520 -0.4798459453 5.385001e-01 0.066009775
## [6,] -0.0068408244 0.2348400263 4.991015e-01 -0.397209148
## [7,] -0.0020619859 0.5942745170 -3.139597e-01 -0.268747484
## [8,] -0.0004676045 0.0004916815 8.674865e-03 -0.038916602
## [9,] 0.0013031231 -0.0001663741 6.737984e-05 0.003323394
print("Variance-Covariance Matrix:")
## [1] "Variance-Covariance Matrix:"
print(cov_matrix)
## Gender Age Debt YearsEmployed Employed
## Gender 0.3000 -4.592500 -0.027500 -0.010000 0.05000
## Age -4.5925 231.361400 9.345663 6.999375 5.03250
## Debt -0.0275 9.345663 6.187675 0.605225 -0.31875
## YearsEmployed -0.0100 6.999375 0.605225 1.182050 0.32250
## Employed 0.0500 5.032500 -0.318750 0.322500 0.30000
## CreditScore -0.3000 33.300000 1.340000 2.810000 1.20000
## DriversLicense 0.1000 -1.142500 -0.221250 0.375000 0.10000
## ZipCode -6.2500 -831.032500 -161.461250 -73.207500 -25.50000
## Income -207.3000 2046.972500 -112.313750 -42.775000 -67.30000
## CreditScore DriversLicense ZipCode Income
## Gender -0.30 0.10000 -6.2500 -207.3000
## Age 33.30 -1.14250 -831.0325 2046.9725
## Debt 1.34 -0.22125 -161.4613 -112.3137
## YearsEmployed 2.81 0.37500 -73.2075 -42.7750
## Employed 1.20 0.10000 -25.5000 -67.3000
## CreditScore 8.30 0.65000 -207.0000 11.5500
## DriversLicense 0.65 0.20000 -12.2500 -68.6000
## ZipCode -207.00 -12.25000 8612.0000 12109.2500
## Income 11.55 -68.60000 12109.2500 151957.8000
cor_matrix <- cor(numeric_data_filtered)
print("Correlation Matrix:")
## [1] "Correlation Matrix:"
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
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.