Working with R

Berikut penggunaan R untuk menghasilkan

  1. Variance-Covariance Matrix

  2. Correlation Matrix

  3. 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
a) Variance-Covariance Matrix
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
b) Correlation Matrix
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
c) Eigen Value dan Eigen Vector
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

Langkah-langkah Publikasi pada Rpubs

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