##impor data

data <- read.csv('C:/Users/ASUS/Downloads/wholesale+customers/Wholesale customers data.csv')

##Data yang diambil

data_num <- data[, c("Fresh", "Milk", "Grocery", 
                     "Frozen", "Detergents_Paper", "Delicassen")]
str(data_num)
## 'data.frame':    440 obs. of  6 variables:
##  $ Fresh           : int  12669 7057 6353 13265 22615 9413 12126 7579 5963 6006 ...
##  $ Milk            : int  9656 9810 8808 1196 5410 8259 3199 4956 3648 11093 ...
##  $ Grocery         : int  7561 9568 7684 4221 7198 5126 6975 9426 6192 18881 ...
##  $ Frozen          : int  214 1762 2405 6404 3915 666 480 1669 425 1159 ...
##  $ Detergents_Paper: int  2674 3293 3516 507 1777 1795 3140 3321 1716 7425 ...
##  $ Delicassen      : int  1338 1776 7844 1788 5185 1451 545 2566 750 2098 ...

##Correlation Matrix

cor_matrix <- cor(data_num)
cor_matrix
##                        Fresh      Milk     Grocery      Frozen Detergents_Paper
## Fresh             1.00000000 0.1005098 -0.01185387  0.34588146       -0.1019529
## Milk              0.10050977 1.0000000  0.72833512  0.12399376        0.6618157
## Grocery          -0.01185387 0.7283351  1.00000000 -0.04019274        0.9246407
## Frozen            0.34588146 0.1239938 -0.04019274  1.00000000       -0.1315249
## Detergents_Paper -0.10195294 0.6618157  0.92464069 -0.13152491        1.0000000
## Delicassen        0.24468997 0.4063683  0.20549651  0.39094747        0.0692913
##                  Delicassen
## Fresh             0.2446900
## Milk              0.4063683
## Grocery           0.2054965
## Frozen            0.3909475
## Detergents_Paper  0.0692913
## Delicassen        1.0000000

##Variance-Covariance Matrix

cov_matrix <- cov(data_num)
cov_matrix
##                      Fresh     Milk  Grocery   Frozen Detergents_Paper
## Fresh            159954927  9381789 -1424713 21236655       -6147825.7
## Milk               9381789 54469967 51083186  4442612       23288343.5
## Grocery           -1424713 51083186 90310104 -1854282       41895189.7
## Frozen            21236655  4442612 -1854282 23567853       -3044324.9
## Detergents_Paper  -6147826 23288343 41895190 -3044325       22732436.0
## Delicassen         8727310  8457925  5507291  5352342         931680.7
##                  Delicassen
## Fresh             8727310.0
## Milk              8457924.8
## Grocery           5507291.3
## Frozen            5352341.8
## Detergents_Paper   931680.7
## Delicassen        7952997.5

##Eigen value dan eigen vector

eigen_result <- eigen(cov_matrix)

eigen_value <- eigen_result$values
eigen_value
## [1] 164995904 145452098  25139978  15803901   5392764   2203641
eigen_vector <- eigen_result$vectors
eigen_vector
##              [,1]        [,2]       [,3]        [,4]       [,5]        [,6]
## [1,]  0.976536846  0.11061386  0.1785573  0.04187648 -0.0159860 -0.01576316
## [2,]  0.121184071 -0.51580216 -0.5098868  0.64564047 -0.2032357  0.03349187
## [3,]  0.061540393 -0.76460638  0.2757809 -0.37546049  0.1602915  0.41093894
## [4,]  0.152364619  0.01872345 -0.7142004 -0.64629232 -0.2201861 -0.01328898
## [5,] -0.007054173 -0.36535076  0.2044099 -0.14938013 -0.2079302 -0.87128428
## [6,]  0.068104710 -0.05707921 -0.2832175  0.02039579  0.9170766 -0.26541687

Pada Correlation Matrix menunjukkan hubungan linear antara beberapa variabel dengan angka yang mendekati 1 memiliki hubungan sedangkan yang mendekati 0 tidak ada hubungan sama sekali. Dalam data Wholeshop customer terdapat antara Grocery dan Detergent_Paper memiliki korelasi tertinggi yaitu 0.924 yang artinya banyak pembeli yang membeli barang grosir hampir selalu membeli produk detergen kertas. Selanjutnya korelasi terendah yaitu Fresh dan Grocery memiliki nilai -0.011 menunjukkan bahwa pembeli yang membeli produk segar tidak selalu ada barang grosir.

Covariance Matrix menunjukkan bagaimana dua variabel berubah bersamaan, tetapi berbeda dengan korelasi, nilainya menggunakan skala asli datanya. Sebagian variabel yang bernilai positif seperti Milk dan Grocery sebesar 51.083.186 artinya jika pelanggan membeli lebih banyak susu, mereka juga cenderung belanja lebih banyak produk grosir. Sedangkan pada negatif antara Fresh dan Grocery sebesar -1.424.713 menunjukkan bahwa jika pembeli hanya berbelanja produk segar sayuran, buah-buahan, dll. biasanya mereka jarang membeli barang grosir seperti mie instan, kalengan, dll.

Nilai eigen digunakan untuk melihat berapa banyak varians yang bisa dijelaskan. Nilai tertinggi yaitu 164.995.904 karena nilai dominan pada dataset, yang berarti membedakan satu pelanggan dengan yang lainnya. Sedangkan nilai terendah yaitu 2.203.641 ini dianggap sebagai noise dalam data. Pada Eigen vector didominasi variabel 0.97 artinya, perbedaan yang cukup besar antara pelanggan adalah seberapa besar mereka membeli produk segar. Kemudian, pada variabel Grocery dan Milk dengan nilai masing-masing -0.76 dan -0.51 menunjukkan bahwa terdapat pelanggan yang memiliki pola belanja kebutuhan rumah tangga.