library(readxl)

df <- read_excel("Raisin_Dataset.xlsx")

# Mengambil hanya kolom numerik (kolom 1 sampai 7) karena kolom 8 berisi teks (class)
df_numeric <- df[, 1:7]

# a. Correlation Matrix
cor_matrix <- cor(df_numeric)
print("Correlation Matrix:")
## [1] "Correlation Matrix:"
print(cor_matrix)
##                        Area MajorAxisLength MinorAxisLength Eccentricity
## Area             1.00000000       0.9327744       0.9066499    0.3361066
## MajorAxisLength  0.93277443       1.0000000       0.7280302    0.5836084
## MinorAxisLength  0.90664987       0.7280302       1.0000000   -0.0276835
## Eccentricity     0.33610660       0.5836084      -0.0276835    1.0000000
## ConvexArea       0.99591967       0.9450309       0.8956513    0.3482103
## Extent          -0.01349934      -0.2038656       0.1453215   -0.3610615
## Perimeter        0.96135172       0.9779780       0.8274170    0.4478452
##                  ConvexArea      Extent  Perimeter
## Area             0.99591967 -0.01349934  0.9613517
## MajorAxisLength  0.94503093 -0.20386556  0.9779780
## MinorAxisLength  0.89565132  0.14532153  0.8274170
## Eccentricity     0.34821030 -0.36106149  0.4478452
## ConvexArea       1.00000000 -0.05480247  0.9766122
## Extent          -0.05480247  1.00000000 -0.1734489
## Perimeter        0.97661223 -0.17344893  1.0000000
# b. Variance-Covariance Matrix
cov_matrix <- cov(df_numeric)
print("Variance-Covariance Matrix:")
## [1] "Variance-Covariance Matrix:"
print(cov_matrix)
##                          Area MajorAxisLength MinorAxisLength  Eccentricity
## Area             1.521165e+09    4.221378e+06    1.767671e+06  1.183972e+03
## MajorAxisLength  4.221378e+06    1.346415e+04    4.222916e+03  6.116279e+00
## MinorAxisLength  1.767671e+06    4.222916e+03    2.498890e+03 -1.249887e-01
## Eccentricity     1.183972e+03    6.116279e+00   -1.249887e-01  8.157415e-03
## ConvexArea       1.583600e+09    4.470629e+06    1.825348e+06  1.282186e+03
## Extent          -2.815116e+01   -1.264820e+00    3.884178e-01 -1.743625e-03
## Perimeter        1.026472e+07    3.106672e+04    1.132335e+04  1.107340e+01
##                    ConvexArea        Extent     Perimeter
## Area             1.583600e+09 -2.815116e+01  1.026472e+07
## MajorAxisLength  4.470629e+06 -1.264820e+00  3.106672e+04
## MinorAxisLength  1.825348e+06  3.884178e-01  1.132335e+04
## Eccentricity     1.282186e+03 -1.743625e-03  1.107340e+01
## ConvexArea       1.662135e+09 -1.194617e+02  1.090014e+07
## Extent          -1.194617e+02  2.858848e-03 -2.538891e+00
## Perimeter        1.090014e+07 -2.538891e+00  7.494690e+04
# c. Eigen Value dan Eigen Vector
# Biasanya dihitung dari Covariance Matrix atau Correlation Matrix
eigen_data <- eigen(cov_matrix)

print("Eigen Values:")
## [1] "Eigen Values:"
print(eigen_data$values)
## [1] 3.176903e+09 6.484070e+06 3.411647e+03 5.871721e+02 4.592383e+01
## [6] 1.781033e-03 1.565458e-03
print("Eigen Vectors:")
## [1] "Eigen Vectors:"
print(eigen_data$vectors)
##               [,1]          [,2]          [,3]          [,4]         [,5]
## [1,] -6.911978e-01  7.225900e-01  0.0099167946  2.336904e-03 -0.002339507
## [2,] -1.935429e-03 -6.101735e-03  0.5800095074 -5.162209e-01  0.630129625
## [3,] -7.998219e-04  2.427483e-03 -0.2137523625  6.499835e-01  0.729259089
## [4,] -5.492743e-07 -4.737215e-06  0.0010540138 -1.661067e-03 -0.001299584
## [5,] -7.226472e-01 -6.910123e-01 -0.0159270484 -5.209011e-03  0.001481976
## [6,]  3.330314e-08  9.602308e-06 -0.0003483057  7.835626e-05  0.001134514
## [7,] -4.712872e-03 -1.795989e-02  0.7858407300  5.576756e-01 -0.266659316
##               [,6]          [,7]
## [1,]  1.174284e-06  6.537297e-06
## [2,]  4.904183e-04  6.364268e-04
## [3,]  8.891598e-04 -2.278570e-03
## [4,] -2.806809e-02 -9.996032e-01
## [5,] -1.815070e-08 -6.392384e-06
## [6,] -9.996054e-01  2.806617e-02
## [7,] -5.255305e-04  2.634392e-04

Analisis Hasil

1. Correlation Matrix:

    Matriks ini menunjukkan kekuatan hubungan linear antar variabel dengan rentang -1 hingga 1.

    -   Korelasi Sangat Kuat: variabel Area, ConvexArea, Perimeter, dan MajorAxisLength memiliki nilai korelasi di atas `0.90`. Hal ini menunjukkan bahwa ukuran fisik kismis (luas, keliling, dan panjang sumbu utama) saling berkaitan erat secara positif di mana jika satu ukuran membesar, yang lainnya hampir pasti membesar.
    -   Korelasi Lemah/Negatif: variabel Extent memiliki korelasi yang sangat rendah (mendekati 0) bahkan negatif dengan variabel lainnya (misal dengan MajorAxisLength sebesar `-0.20`). Ini berarti rasio area kismis terhadap kotak pembatasnya tidak terlalu dipengaruhi oleh ukuran besar kismis tersebut.

2. Variance-Covariance Matrix:

    Matriks ini menunjukkan varians variabel pada diagonal utama dan kovarians antar variabel di luar diagonal.

    -  Varians Tinggi: nilai varians terbesar ada pada variabel Area `(1.52 * 10^9)` dan ConvexArea `(1.66 * 10^9)`. Nilai yang sangat besar ini menunjukkan bahwa data kismis memiliki rentang perbedaan luas yang sangat lebar antar sampelnya.
    -  Kovarians Positif: hampir semua nilai kovarians bernilai positif, yang menandakan bahwa variabel-variabel fisik kismis cenderung bergerak ke arah yang sama (searah).

3. Eigen Value:

    Nilai Eigen menunjukkan jumlah varians yang dijelaskan oleh setiap komponen utama (PC).

    -   Dominasi Komponen Pertama: nilai Eigen pertama sebesar `3.17 * 10^9` jauh lebih besar dibandingkan nilai lainnya. Ini menunjukkan bahwa satu komponen utama saja sudah cukup untuk merangkum sebagian besar informasi atau keragaman dari seluruh dataset kismis tersebut.
    -   Penurunan Nilai: nilai Eigen terus mengecil hingga `1.56 * 10^{-3}`, yang berarti komponen-komponen terakhir hampir tidak memberikan informasi tambahan yang signifikan.

4. Eigen Vector (Vektor Eigen):

    Vektor ini menunjukkan bobot atau kontribusi setiap variabel asli terhadap komponen utama.

    -   Pada kolom pertama `([,1])`, variabel Area `(-0.69)` dan ConvexArea `(-0.72)` memiliki bobot paling besar. Ini berarti komponen utama pertama sangat dipengaruhi oleh variabel-variabel yang berkaitan dengan luas permukaan kismis.
    -   Setiap kolom merupakan sumbu baru yang tegak lurus satu sama lain dalam ruang multivariat untuk mempermudah analisis data yang kompleks.