library(readr)
library(psych)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
library(corrplot)
## corrplot 0.95 loaded
library(openxlsx)
library(FactoMineR)
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa

Read

Export <- read.csv("C:/Users/salis/Downloads/export.csv")
Import <- read.csv("C:/Users/salis/Downloads/Import.csv")

Menjadikan huruf kecil

Export$Product.Name <- tolower(Export$Product.Name)
Import$Product.Name <- tolower(Import$Product.Name)

Menghpus baris terakhir data set

data_Export <- Export[-nrow(Export), ]
data_Import <- Import[-nrow(Import), ]

Menggabungkan data export dan import

merged_data <- merge(data_Export, data_Import,
                     by = c("Product.Name"))

Mengubah nama variabel

colnames(merged_data) <- c("Product.Name",
                           "Qty_Export",
                           "Value_Export",
                           "ShareQty_Export",
                           "ShareValue_Export",
                           "MTperCrore_Export",
                           "Qty_Import",
                           "Value_Import",
                           "ShareQty_Import",
                           "ShareValue_Import",
                           "MTperCrore_Import")

menghitung nilai missing values

sum(is.na(merged_data))
## [1] 0

Menghapus kolom Product.Name

Export_Import <- merged_data [ , -1]

Statistika Deskriptif

SD <- describe(Export_Import)

Menyimpan file

write.xlsx(SD, "tabel_data.xlsx")

Visualisasi Sceterplot

ggplot(Export_Import, aes(x = Qty_Export, y = Value_Export)) +
  geom_point(color = "blue") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Scatterplot Qty_Export vs Value_Export",
       x = "Quantity Export",
       y = "Value Export (Rs/Crore)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

ggplot(Export_Import, aes(x = Qty_Import, y = Value_Import)) +
  geom_point(color = "darkgreen") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Scatterplot Qty_Import vs Value_Import",
       x = "Quantity Import",
       y = "Value Import (Rs/Crore)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Menghitung matriks korelasi

cor(Export_Import)
##                    Qty_Export Value_Export ShareQty_Export ShareValue_Export
## Qty_Export         1.00000000   0.94552756      1.00000000       0.945528164
## Value_Export       0.94552756   1.00000000      0.94551908       0.999999995
## ShareQty_Export    1.00000000   0.94551908      1.00000000       0.945519686
## ShareValue_Export  0.94552816   1.00000000      0.94551969       1.000000000
## MTperCrore_Export  0.29126212   0.12612827      0.29126548       0.126107218
## Qty_Import        -0.02818856   0.05770378     -0.02820315       0.057693323
## Value_Import      -0.04987350   0.05465389     -0.04989107       0.054646720
## ShareQty_Import   -0.02818246   0.05770536     -0.02819705       0.057694899
## ShareValue_Import -0.04987091   0.05465335     -0.04988848       0.054646176
## MTperCrore_Import  0.07295874   0.00165556      0.07295625       0.001652304
##                   MTperCrore_Export  Qty_Import  Value_Import ShareQty_Import
## Qty_Export               0.29126212 -0.02818856 -0.0498735047     -0.02818246
## Value_Export             0.12612827  0.05770378  0.0546538936      0.05770536
## ShareQty_Export          0.29126548 -0.02820315 -0.0498910662     -0.02819705
## ShareValue_Export        0.12610722  0.05769332  0.0546467198      0.05769490
## MTperCrore_Export        1.00000000 -0.07655467 -0.1398709287     -0.07654650
## Qty_Import              -0.07655467  1.00000000  0.9631723236      1.00000000
## Value_Import            -0.13987093  0.96317232  1.0000000000      0.96317070
## ShareQty_Import         -0.07654650  1.00000000  0.9631706952      1.00000000
## ShareValue_Import       -0.13987188  0.96317488  0.9999999988      0.96317325
## MTperCrore_Import        0.58230606  0.07187096  0.0008065627      0.07187248
##                   ShareValue_Import MTperCrore_Import
## Qty_Export             -0.049870914      0.0729587403
## Value_Export            0.054653350      0.0016555597
## ShareQty_Export        -0.049888475      0.0729562545
## ShareValue_Export       0.054646176      0.0016523035
## MTperCrore_Export      -0.139871876      0.5823060641
## Qty_Import              0.963174880      0.0718709610
## Value_Import            0.999999999      0.0008065627
## ShareQty_Import         0.963173252      0.0718724751
## ShareValue_Import       1.000000000      0.0007957340
## MTperCrore_Import       0.000795734      1.0000000000

visualisasinya

corrplot::corrplot(cor(Export_Import), tl.col = "black", tl.srt = 45, tl.cex = 0.5)

Export_Import_Cor <- cor(Export_Import)

Cek KMO

kmo_result <- KMO(Export_Import)
kmo_result
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = Export_Import)
## Overall MSA =  0.7
## MSA for each item = 
##        Qty_Export      Value_Export   ShareQty_Export ShareValue_Export 
##              0.73              0.70              0.73              0.70 
## MTperCrore_Export        Qty_Import      Value_Import   ShareQty_Import 
##              0.54              0.71              0.71              0.71 
## ShareValue_Import MTperCrore_Import 
##              0.71              0.40

Menghapus kolom MTperCrore_Import

Export_Import_kmo <- Export_Import[ , -10]

Menghitung korelasi

Export_Import_kmo_Cor <- cor(Export_Import_kmo)

Kmo

kmo_result2 <- KMO(Export_Import_kmo_Cor)
kmo_result2
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = Export_Import_kmo_Cor)
## Overall MSA =  0.71
## MSA for each item = 
##        Qty_Export      Value_Export   ShareQty_Export ShareValue_Export 
##              0.73              0.71              0.73              0.71 
## MTperCrore_Export        Qty_Import      Value_Import   ShareQty_Import 
##              0.50              0.71              0.71              0.71 
## ShareValue_Import 
##              0.71

uji homogenitas varians

bartlett.test(Export_Import_kmo)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Export_Import_kmo
## Bartlett's K-squared = 4798.4, df = 8, p-value < 2.2e-16

scale data

scale_data = scale(Export_Import_kmo)

kovarians

Kovarians = cov(scale_data)

Menghitung eigenvalue dan eigenvector

pc <- eigen(Kovarians)
print('eigen values:')
## [1] "eigen values:"
pc$values
## [1] 3.954385e+00 3.949107e+00 9.552336e-01 7.851892e-02 6.275549e-02
## [6] 4.244454e-09 1.228085e-09 1.095122e-09 4.510722e-10
print('eigen vectors:')
## [1] "eigen vectors:"
pc$vectors
##               [,1]       [,2]         [,3]       [,4]        [,5]          [,6]
##  [1,] -0.240641283 -0.4365681 -0.016291340 -0.3839810  0.32210508 -7.648044e-02
##  [2,] -0.282378203 -0.4040761  0.155623357  0.3687926 -0.31109684 -7.021083e-01
##  [3,] -0.240633162 -0.4365708 -0.016294925 -0.3840658  0.32213522  7.643589e-02
##  [4,] -0.282374428 -0.4040777  0.155646472  0.3687713 -0.31103864  7.021479e-01
##  [5,] -0.009268599 -0.1588851 -0.969170212  0.1789420 -0.05795238  2.156031e-05
##  [6,] -0.427264505  0.2542769 -0.076276120 -0.3298542 -0.37169928 -3.353417e-02
##  [7,] -0.423979748  0.2623940 -0.006943043  0.3028458  0.39955200  6.698834e-03
##  [8,] -0.427265143  0.2542746 -0.076284078 -0.3298930 -0.37168055  3.355781e-02
##  [9,] -0.423980536  0.2623939 -0.006942755  0.3027917  0.39955458 -6.716539e-03
##                [,7]          [,8]          [,9]
##  [1,] -6.794473e-01  1.781676e-01 -2.828342e-02
##  [2,]  7.612198e-02 -1.607897e-02 -3.111420e-02
##  [3,]  6.793843e-01 -1.781911e-01  2.830001e-02
##  [4,] -7.605794e-02  1.609945e-02  3.109940e-02
##  [5,]  8.323185e-06  4.724660e-06  3.458337e-06
##  [6,] -7.675492e-02 -2.001680e-01  6.729956e-01
##  [7,] -1.634319e-01 -6.541562e-01 -2.128608e-01
##  [8,]  7.672799e-02  2.001482e-01 -6.729942e-01
##  [9,]  1.634639e-01  6.541709e-01  2.128612e-01

Menghitung proporsi varians dan kumulatif

sumvar <- sum(pc$values)
propvar <- sapply(pc$values, function(x) x/sumvar)*100
cumvar <- data.frame(cbind(pc$values, propvar)) %>% mutate(cum = cumsum(propvar))
colnames(cumvar)[1] <- "eigen_value"
row.names(cumvar) <- paste0("PC",c(1:ncol(Export_Import_kmo)))
cumvar <- round(cumvar, 3)
print(cumvar)
##     eigen_value propvar     cum
## PC1       3.954  43.938  43.938
## PC2       3.949  43.879  87.817
## PC3       0.955  10.614  98.430
## PC4       0.079   0.872  99.303
## PC5       0.063   0.697 100.000
## PC6       0.000   0.000 100.000
## PC7       0.000   0.000 100.000
## PC8       0.000   0.000 100.000
## PC9       0.000   0.000 100.000

hasilPCA

print('eigen vectors:')
## [1] "eigen vectors:"
pc$vectors
##               [,1]       [,2]         [,3]       [,4]        [,5]          [,6]
##  [1,] -0.240641283 -0.4365681 -0.016291340 -0.3839810  0.32210508 -7.648044e-02
##  [2,] -0.282378203 -0.4040761  0.155623357  0.3687926 -0.31109684 -7.021083e-01
##  [3,] -0.240633162 -0.4365708 -0.016294925 -0.3840658  0.32213522  7.643589e-02
##  [4,] -0.282374428 -0.4040777  0.155646472  0.3687713 -0.31103864  7.021479e-01
##  [5,] -0.009268599 -0.1588851 -0.969170212  0.1789420 -0.05795238  2.156031e-05
##  [6,] -0.427264505  0.2542769 -0.076276120 -0.3298542 -0.37169928 -3.353417e-02
##  [7,] -0.423979748  0.2623940 -0.006943043  0.3028458  0.39955200  6.698834e-03
##  [8,] -0.427265143  0.2542746 -0.076284078 -0.3298930 -0.37168055  3.355781e-02
##  [9,] -0.423980536  0.2623939 -0.006942755  0.3027917  0.39955458 -6.716539e-03
##                [,7]          [,8]          [,9]
##  [1,] -6.794473e-01  1.781676e-01 -2.828342e-02
##  [2,]  7.612198e-02 -1.607897e-02 -3.111420e-02
##  [3,]  6.793843e-01 -1.781911e-01  2.830001e-02
##  [4,] -7.605794e-02  1.609945e-02  3.109940e-02
##  [5,]  8.323185e-06  4.724660e-06  3.458337e-06
##  [6,] -7.675492e-02 -2.001680e-01  6.729956e-01
##  [7,] -1.634319e-01 -6.541562e-01 -2.128608e-01
##  [8,]  7.672799e-02  2.001482e-01 -6.729942e-01
##  [9,]  1.634639e-01  6.541709e-01  2.128612e-01
print('PC result')
## [1] "PC result"
scores <- as.matrix(scale_data) %*% pc$vectors
scores
##              [,1]         [,2]       [,3]        [,4]          [,5]
##  [1,]  0.88204215   0.59506006  0.7243827 -0.17239661  1.967222e-01
##  [2,] -1.47575496   1.24430268  0.3319461  0.86856225  9.965870e-01
##  [3,]  1.06910750   0.40377442  0.5928828 -0.23799084  1.547710e-02
##  [4,]  1.06244465   0.48759563  0.7196105 -0.26746899  7.225101e-02
##  [5,] -3.56578233   2.75380261  0.3992486  0.16535428  2.922188e-01
##  [6,]  1.09020132   0.29805743 -0.4574723 -0.09328470 -1.225999e-02
##  [7,] -0.15933702  -0.46368516  0.6660781  0.47715704 -3.245493e-01
##  [8,]  0.18755780   0.74332657  0.6869765  0.19572919  3.732244e-01
##  [9,]  0.87717209   0.04238041  0.2209407 -0.06705552 -8.654392e-02
## [10,]  0.78707513   0.27112375  0.7193300 -0.04691213 -7.530632e-02
## [11,]  0.97895925   0.40885830  0.6636352 -0.19060301  2.206859e-02
## [12,]  0.90295585   0.24754239  0.1602232 -0.12065253 -2.260448e-02
## [13,]  1.04937337   0.34794828  0.4219247 -0.19932636  9.366389e-05
## [14,] -0.06254489  -1.66355450 -1.5008998 -0.22867167  1.948315e-01
## [15,]  0.71865773   0.52203679  0.7604706 -0.02841290  1.673998e-01
## [16,]  0.30179528  -0.79200979  0.5958684  0.32981683 -4.332193e-01
## [17,]  0.58475487  -0.37369635  0.4715933  0.13559298 -2.673906e-01
## [18,]  0.24904023  -0.10287777  0.1063024  0.11937582 -2.964959e-02
## [19,]  0.16696720  -1.32998980 -1.2914795 -0.13419027  1.184283e-01
## [20,]  1.03265576   0.29660213  0.2683923 -0.16886399 -1.075425e-02
## [21,]  0.90603408   0.04249801 -0.1678005 -0.07473969 -4.671301e-02
## [22,]  1.00778509   0.12349263 -0.6017143 -0.05183263 -2.655621e-02
## [23,] -1.21140174  -0.89191104  0.7012300  0.74837811 -5.185487e-01
## [24,]  0.93212589   0.17587351  0.4551283 -0.10382313 -7.590636e-02
## [25,] -5.40734356 -10.21673085  0.8027742 -0.28627263  1.759250e-01
## [26,]  0.75147777   0.50285799 -0.4342423 -0.21617578 -1.218480e-01
## [27,] -2.47803037   1.35070278 -0.6995683 -0.18786855 -6.862797e-02
## [28,]  0.41015436  -0.59961664 -0.9289529 -0.03730272  1.056861e-02
## [29,]  1.10479589   0.45541230  0.4841086 -0.26224359  5.085920e-02
## [30,]  0.95154323  -0.18716756 -2.5966780  0.23642343 -1.174075e-01
## [31,]  0.74277308   0.59419831  0.6369971 -0.10020294  1.945565e-01
## [32,]  0.61576847  -0.98023625 -3.6265576  0.19203814  7.239459e-02
## [33,] -0.16223117  -0.12538415 -0.2224477  0.18557176  1.362657e-01
## [34,]  0.05885771  -0.28256789  0.5647950  0.36800795 -1.772812e-01
## [35,]  1.10840054   0.45969438  0.5545451 -0.27517225  4.916600e-02
## [36,]  0.27847533  -0.63615707  0.6328186  0.33474349 -4.055192e-01
## [37,] -9.02495189   5.16759003 -0.5097088 -0.36028060 -3.093749e-01
## [38,]  1.04914103   0.39947738  0.7189474 -0.23038524  1.818731e-03
## [39,]  0.85255240   0.60732538  0.4652231 -0.22963300  1.071893e-01
## [40,]  0.83673288   0.10405068 -1.4888514  0.01501102 -1.179852e-01
##                [,6]          [,7]          [,8]          [,9]
##  [1,]  8.888158e-05 -1.227843e-07 -4.484212e-05 -6.885482e-07
##  [2,]  1.271083e-05 -1.494901e-05 -1.977198e-05 -2.010876e-05
##  [3,] -4.409774e-05 -4.170755e-05 -3.613886e-06 -8.363796e-06
##  [4,] -7.699673e-05  3.719340e-05  2.451752e-05 -2.136010e-05
##  [5,] -5.610348e-05  5.730077e-06 -4.178008e-07  3.526797e-05
##  [6,] -1.112230e-04 -6.928480e-05 -6.384480e-06 -5.210798e-07
##  [7,] -7.404153e-05 -1.502712e-05  2.964444e-05  1.850165e-05
##  [8,]  5.328992e-05  5.980072e-05  1.042774e-05  2.808363e-05
##  [9,]  5.609424e-05 -2.177936e-05  3.999278e-05  3.580499e-05
## [10,]  4.922661e-05  2.922248e-05  3.220446e-06  3.683872e-05
## [11,]  9.342768e-05  2.160381e-05  3.878208e-05  1.841135e-05
## [12,] -8.602780e-06  2.756335e-05 -4.698441e-05 -9.769207e-06
## [13,] -1.314150e-05  4.524590e-05  3.093914e-05 -1.750232e-05
## [14,] -7.895916e-05  5.496383e-06 -8.631725e-06  2.095483e-05
## [15,] -4.745092e-05 -3.419483e-05  4.183089e-05  1.271334e-05
## [16,] -7.944208e-05  3.168314e-05 -4.680624e-05  2.824127e-06
## [17,]  8.614643e-05  2.225296e-05  3.786680e-05  3.291296e-05
## [18,] -1.217398e-05 -4.510156e-05  1.837151e-05  9.092728e-06
## [19,]  5.523833e-05  1.819087e-06 -5.824233e-05  3.351218e-05
## [20,]  4.830299e-06  6.477281e-06 -7.709309e-05  1.046690e-05
## [21,] -5.099742e-05  1.021120e-05 -6.653541e-05 -1.442729e-05
## [22,] -1.110581e-04 -5.871149e-05  1.361798e-05  7.106271e-06
## [23,] -5.021589e-05  5.607296e-06  2.819734e-07 -3.085736e-06
## [24,] -2.333881e-05 -4.842274e-05 -1.582766e-05 -1.088008e-06
## [25,]  1.405452e-05 -4.818822e-06  8.495038e-06 -6.679239e-06
## [26,]  7.492629e-05  2.306961e-05 -4.380746e-05  1.125603e-05
## [27,]  7.172841e-05 -1.719777e-05  1.552401e-06 -2.871748e-05
## [28,] -7.714762e-05  2.602331e-05 -2.369435e-05 -8.172819e-06
## [29,] -2.827809e-05 -8.174405e-06  5.364531e-05 -9.884674e-06
## [30,]  7.675360e-05  1.797912e-05  2.803369e-05 -1.541187e-05
## [31,] -1.195698e-06  4.864830e-06  2.564243e-05 -4.196142e-05
## [32,] -4.700319e-05  6.066293e-05  5.451850e-05 -7.162554e-06
## [33,]  3.352647e-05 -4.903256e-05  3.095775e-06  1.803275e-05
## [34,]  1.008498e-04  2.007487e-05 -1.543033e-05 -4.537742e-05
## [35,]  7.672537e-05 -3.426945e-05  3.363890e-05 -3.681542e-05
## [36,]  3.804517e-05 -5.204673e-06 -4.834873e-06 -2.267721e-05
## [37,] -4.037028e-06  5.244944e-06  3.372945e-06 -4.308630e-06
## [38,]  5.714550e-07  3.513323e-05  1.954035e-05  5.395295e-06
## [39,] -1.036508e-04  4.998291e-05 -1.511527e-05 -1.053525e-05
## [40,]  1.121285e-04 -8.494394e-05 -2.299523e-05 -2.556891e-06
pc <- principal(Export_Import_kmo, nfactors = 2, rotate = "none")
## In factor.stats, I could not find the RMSEA upper bound . Sorry about that
pc
## Principal Components Analysis
## Call: principal(r = Export_Import_kmo, nfactors = 2, rotate = "none")
## Standardized loadings (pattern matrix) based upon correlation matrix
##                    PC1   PC2   h2    u2 com
## Qty_Export        0.48  0.87 0.98 0.018 1.6
## Value_Export      0.56  0.80 0.96 0.040 1.8
## ShareQty_Export   0.48  0.87 0.98 0.018 1.6
## ShareValue_Export 0.56  0.80 0.96 0.040 1.8
## MTperCrore_Export 0.02  0.32 0.10 0.900 1.0
## Qty_Import        0.85 -0.51 0.98 0.023 1.6
## Value_Import      0.84 -0.52 0.98 0.017 1.7
## ShareQty_Import   0.85 -0.51 0.98 0.023 1.6
## ShareValue_Import 0.84 -0.52 0.98 0.017 1.7
## 
##                        PC1  PC2
## SS loadings           3.95 3.95
## Proportion Var        0.44 0.44
## Cumulative Var        0.44 0.88
## Proportion Explained  0.50 0.50
## Cumulative Proportion 0.50 1.00
## 
## Mean item complexity =  1.6
## Test of the hypothesis that 2 components are sufficient.
## 
## The root mean square of the residuals (RMSR) is  0.03 
##  with the empirical chi square  2.14  with prob <  1 
## 
## Fit based upon off diagonal values = 1
L <- as.matrix(pc$loadings)   # loadings
lambda <- pc$values          # eigenvalues
# ambil hanya nfactors yang dipakai
lambda_k <- lambda[1:ncol(L)]
# hitung eigenvector
V <- sweep(L, 2, sqrt(lambda_k), "/")
V
## 
## Loadings:
##                   PC1    PC2   
## Qty_Export         0.241  0.437
## Value_Export       0.282  0.404
## ShareQty_Export    0.241  0.437
## ShareValue_Export  0.282  0.404
## MTperCrore_Export         0.159
## Qty_Import         0.427 -0.254
## Value_Import       0.424 -0.262
## ShareQty_Import    0.427 -0.254
## ShareValue_Import  0.424 -0.262
## 
##                  PC1   PC2
## SS loadings    1.000 1.000
## Proportion Var 0.111 0.111
## Cumulative Var 0.111 0.222
scores = scale_data %*% as.matrix(V)
scores
##               PC1         PC2
##  [1,] -0.88204215 -0.59506006
##  [2,]  1.47575496 -1.24430268
##  [3,] -1.06910750 -0.40377442
##  [4,] -1.06244465 -0.48759563
##  [5,]  3.56578233 -2.75380261
##  [6,] -1.09020132 -0.29805743
##  [7,]  0.15933702  0.46368516
##  [8,] -0.18755780 -0.74332657
##  [9,] -0.87717209 -0.04238041
## [10,] -0.78707513 -0.27112375
## [11,] -0.97895925 -0.40885830
## [12,] -0.90295585 -0.24754239
## [13,] -1.04937337 -0.34794828
## [14,]  0.06254489  1.66355450
## [15,] -0.71865773 -0.52203679
## [16,] -0.30179528  0.79200979
## [17,] -0.58475487  0.37369635
## [18,] -0.24904023  0.10287777
## [19,] -0.16696720  1.32998980
## [20,] -1.03265576 -0.29660213
## [21,] -0.90603408 -0.04249801
## [22,] -1.00778509 -0.12349263
## [23,]  1.21140174  0.89191104
## [24,] -0.93212589 -0.17587351
## [25,]  5.40734356 10.21673085
## [26,] -0.75147777 -0.50285799
## [27,]  2.47803037 -1.35070278
## [28,] -0.41015436  0.59961664
## [29,] -1.10479589 -0.45541230
## [30,] -0.95154323  0.18716756
## [31,] -0.74277308 -0.59419831
## [32,] -0.61576847  0.98023625
## [33,]  0.16223117  0.12538415
## [34,] -0.05885771  0.28256789
## [35,] -1.10840054 -0.45969438
## [36,] -0.27847533  0.63615707
## [37,]  9.02495189 -5.16759003
## [38,] -1.04914103 -0.39947738
## [39,] -0.85255240 -0.60732538
## [40,] -0.83673288 -0.10405068
pca_result <- PCA(scale_data,
                  scale.unit = TRUE,
                  graph = FALSE,
                  ncp=ncol(Export_Import_kmo))  

menampilkan ringkasan hasil pca

pca_result$eig          # vs print(cumvar)
##          eigenvalue percentage of variance cumulative percentage of variance
## comp 1 3.954385e+00           4.393762e+01                          43.93762
## comp 2 3.949107e+00           4.387896e+01                          87.81658
## comp 3 9.552336e-01           1.061371e+01                          98.43028
## comp 4 7.851892e-02           8.724324e-01                          99.30272
## comp 5 6.275549e-02           6.972832e-01                         100.00000
## comp 6 4.244453e-09           4.716059e-08                         100.00000
## comp 7 1.228085e-09           1.364539e-08                         100.00000
## comp 8 1.095122e-09           1.216802e-08                         100.00000
## comp 9 4.510724e-10           5.011915e-09                         100.00000
pca_result$svd$V        # vs pc$vectors
##              [,1]       [,2]         [,3]       [,4]        [,5]          [,6]
##  [1,] 0.240641283  0.4365681  0.016291340 -0.3839810  0.32210508 -7.648049e-02
##  [2,] 0.282378203  0.4040761 -0.155623357  0.3687926 -0.31109684 -7.021083e-01
##  [3,] 0.240633162  0.4365708  0.016294925 -0.3840658  0.32213522  7.643593e-02
##  [4,] 0.282374428  0.4040777 -0.155646472  0.3687713 -0.31103864  7.021479e-01
##  [5,] 0.009268599  0.1588851  0.969170212  0.1789420 -0.05795238  2.156031e-05
##  [6,] 0.427264505 -0.2542769  0.076276120 -0.3298542 -0.37169928 -3.353421e-02
##  [7,] 0.423979748 -0.2623940  0.006943043  0.3028458  0.39955200  6.698814e-03
##  [8,] 0.427265143 -0.2542746  0.076284078 -0.3298930 -0.37168055  3.355785e-02
##  [9,] 0.423980536 -0.2623939  0.006942755  0.3027917  0.39955458 -6.716519e-03
##                [,7]          [,8]          [,9]
##  [1,] -6.794473e-01 -1.781674e-01 -2.828338e-02
##  [2,]  7.612204e-02  1.607892e-02 -3.111423e-02
##  [3,]  6.793844e-01  1.781909e-01  2.829997e-02
##  [4,] -7.605800e-02 -1.609940e-02  3.109943e-02
##  [5,]  8.323182e-06 -4.724661e-06  3.458339e-06
##  [6,] -7.675486e-02  2.001682e-01  6.729955e-01
##  [7,] -1.634317e-01  6.541562e-01 -2.128610e-01
##  [8,]  7.672794e-02 -2.001485e-01 -6.729942e-01
##  [9,]  1.634637e-01 -6.541709e-01  2.128614e-01
pca_result$ind['coord'] # vs head(scores)
## $coord
##          Dim.1       Dim.2      Dim.3       Dim.4         Dim.5         Dim.6
## 1  -0.89327881 -0.60264075 -0.7336109 -0.17459283  1.992283e-01  9.001387e-05
## 2   1.49455515 -1.26015431 -0.3361749  0.87962718  1.009283e+00  1.287275e-05
## 3  -1.08272726 -0.40891825 -0.6004357 -0.24102270  1.567426e-02 -4.465953e-05
## 4  -1.07597952 -0.49380729 -0.7287779 -0.27087638  7.317144e-02 -7.797762e-05
## 5   3.61120814 -2.78888431 -0.4043347  0.16746079  2.959415e-01 -5.681820e-05
## 6  -1.10408980 -0.30185450  0.4633002 -0.09447309 -1.241617e-02 -1.126399e-04
## 7   0.16136687  0.46959221 -0.6745635  0.48323572 -3.286838e-01 -7.498477e-05
## 8  -0.18994717 -0.75279608 -0.6957281  0.19822265  3.779791e-01  5.396881e-05
## 9  -0.88834671 -0.04292031 -0.2237553 -0.06790977 -8.764643e-02  5.680884e-05
## 10 -0.79710197 -0.27457769 -0.7284938 -0.04750976 -7.626568e-02  4.985373e-05
## 11 -0.99143058 -0.41406690 -0.6720895 -0.19303118  2.234973e-02  9.461789e-05
## 12 -0.91445893 -0.25069592 -0.1622643 -0.12218956 -2.289245e-02 -8.712372e-06
## 13 -1.06274173 -0.35238092 -0.4272997 -0.20186565  9.485711e-05 -1.330891e-05
## 14  0.06334168  1.68474713  1.5200203 -0.23158481  1.973136e-01 -7.996505e-05
## 15 -0.72781298 -0.52868721 -0.7701585 -0.02877486  1.695324e-01 -4.805542e-05
## 16 -0.30563996  0.80209950 -0.6034593  0.33401849 -4.387383e-01 -8.045412e-05
## 17 -0.59220428  0.37845701 -0.4776011  0.13732035 -2.707970e-01  8.724388e-05
## 18 -0.25221284  0.10418837 -0.1076566  0.12089659 -3.002731e-02 -1.232907e-05
## 19 -0.16909426  1.34693303  1.3079321 -0.13589976  1.199371e-01  5.594203e-05
## 20 -1.04581114 -0.30038065 -0.2718114 -0.17101521 -1.089125e-02  4.891832e-06
## 21 -0.91757638 -0.04303941  0.1699382 -0.07569183 -4.730810e-02 -5.164709e-05
## 22 -1.02062363 -0.12506584  0.6093798 -0.05249294 -2.689452e-02 -1.124729e-04
## 23  1.22683423  0.90327342 -0.7101632  0.75791197 -5.251547e-01 -5.085561e-05
## 24 -0.94400058 -0.17811403 -0.4609264 -0.10514577 -7.687336e-02 -2.363613e-05
## 25  5.47622970 10.34688554 -0.8130010 -0.28991956  1.781662e-01  1.423356e-05
## 26 -0.76105113 -0.50926408  0.4397743 -0.21892972 -1.234003e-01  7.588080e-05
## 27  2.50959891 -1.36790988  0.7084804 -0.19026188 -6.950225e-02  7.264219e-05
## 28 -0.41537947  0.60725538  0.9407872 -0.03777794  1.070324e-02 -7.813043e-05
## 29 -1.11887029 -0.46121397 -0.4902758 -0.26558441  5.150711e-02 -2.863834e-05
## 30 -0.96366529  0.18955196  2.6297581  0.23943532 -1.189032e-01  7.773140e-05
## 31 -0.75223554 -0.60176802 -0.6451120 -0.10147946  1.970351e-01 -1.210928e-06
## 32 -0.62361297  0.99272384  3.6727576  0.19448458  7.331685e-02 -4.760197e-05
## 33  0.16429790  0.12698147  0.2252816  0.18793582  1.380016e-01  3.395357e-05
## 34 -0.05960752  0.28616762 -0.5719902  0.37269614 -1.795397e-01  1.021346e-04
## 35 -1.12252086 -0.46555059 -0.5616097 -0.27867777  4.979234e-02  7.770280e-05
## 36 -0.28202293  0.64426131 -0.6408803  0.33900791 -4.106853e-01  3.852984e-05
## 37  9.13992407 -5.23342185  0.5162022 -0.36487035 -3.133161e-01 -4.088456e-06
## 38 -1.06250642 -0.40456647 -0.7281063 -0.23332020  1.841900e-03  5.787379e-07
## 39 -0.86341338 -0.61506232 -0.4711497 -0.23255838  1.085548e-01 -1.049712e-04
## 40 -0.84739233 -0.10537622  1.5078185  0.01520225 -1.194883e-01  1.135569e-04
##            Dim.7         Dim.8         Dim.9
## 1  -1.243425e-07  4.541339e-05 -6.973282e-07
## 2  -1.513944e-05  2.002386e-05 -2.036493e-05
## 3  -4.223887e-05  3.659933e-06 -8.470348e-06
## 4   3.766722e-05 -2.482988e-05 -2.163221e-05
## 5   5.803079e-06  4.231298e-07  3.571726e-05
## 6  -7.016743e-05  6.465830e-06 -5.277253e-07
## 7  -1.521856e-05 -3.002208e-05  1.873735e-05
## 8   6.056254e-05 -1.056059e-05  2.844140e-05
## 9  -2.205684e-05 -4.050225e-05  3.626114e-05
## 10  2.959475e-05 -3.261469e-06  3.730802e-05
## 11  2.187901e-05 -3.927614e-05  1.864591e-05
## 12  2.791450e-05  4.758295e-05 -9.893673e-06
## 13  4.582229e-05 -3.133331e-05 -1.772528e-05
## 14  5.566412e-06  8.741690e-06  2.122177e-05
## 15 -3.463045e-05 -4.236377e-05  1.287531e-05
## 16  3.208679e-05  4.740251e-05  2.860089e-06
## 17  2.253643e-05 -3.834920e-05  3.333227e-05
## 18 -4.567613e-05 -1.860553e-05  9.208568e-06
## 19  1.842273e-06  5.898431e-05  3.393909e-05
## 20  6.559819e-06  7.807521e-05  1.060022e-05
## 21  1.034131e-05  6.738302e-05 -1.461111e-05
## 22 -5.945944e-05 -1.379145e-05  7.196799e-06
## 23  5.678733e-06 -2.855694e-07 -3.125048e-06
## 24 -4.903961e-05  1.602930e-05 -1.101874e-06
## 25 -4.880214e-06 -8.603259e-06 -6.764325e-06
## 26  2.336351e-05  4.436554e-05  1.139941e-05
## 27 -1.741686e-05 -1.572178e-06 -2.908332e-05
## 28  2.635484e-05  2.399619e-05 -8.276945e-06
## 29 -8.278555e-06 -5.432872e-05 -1.001059e-05
## 30  1.820815e-05 -2.839083e-05 -1.560819e-05
## 31  4.926798e-06 -2.596912e-05 -4.249597e-05
## 32  6.143573e-05 -5.521305e-05 -7.253787e-06
## 33 -4.965720e-05 -3.135193e-06  1.826248e-05
## 34  2.033061e-05  1.562689e-05 -4.595549e-05
## 35 -3.470603e-05 -3.406744e-05 -3.728442e-05
## 36 -5.270979e-06  4.896463e-06 -2.296611e-05
## 37  5.311761e-06 -3.415917e-06 -4.363518e-06
## 38  3.558080e-05 -1.978929e-05  5.464033e-06
## 39  5.061967e-05  1.530781e-05 -1.066947e-05
## 40 -8.602607e-05  2.328820e-05 -2.589466e-06
pca_result$var
## $coord
##                       Dim.1      Dim.2        Dim.3       Dim.4       Dim.5
## Qty_Export        0.4785305  0.8675639  0.015922513 -0.10759618  0.08069069
## Value_Export      0.5615270  0.8029945 -0.152100127  0.10334022 -0.07793301
## ShareQty_Export   0.4785144  0.8675691  0.015926016 -0.10761996  0.08069824
## ShareValue_Export 0.5615195  0.8029977 -0.152122719  0.10333423 -0.07791843
## MTperCrore_Export 0.0184312  0.3157421  0.947228716  0.05014175 -0.01451768
## Qty_Import        0.8496427 -0.5053081  0.074549269 -0.09242918 -0.09311456
## Value_Import      0.8431107 -0.5214388  0.006785856  0.08486111  0.10009196
## ShareQty_Import   0.8496439 -0.5053037  0.074557047 -0.09244006 -0.09310987
## ShareValue_Import 0.8431123 -0.5214387  0.006785575  0.08484595  0.10009260
##                           Dim.6         Dim.7         Dim.8         Dim.9
## Qty_Export        -4.982663e-06 -2.381059e-05 -5.896028e-06 -6.006957e-07
## Value_Export      -4.574198e-05  2.667624e-06  5.320939e-07 -6.608185e-07
## ShareQty_Export    4.979760e-06  2.380838e-05  5.896805e-06  6.010479e-07
## ShareValue_Export  4.574456e-05 -2.665380e-06 -5.327714e-07  6.605041e-07
## MTperCrore_Export  1.404643e-09  2.916780e-10 -1.563514e-10  7.344981e-11
## Qty_Import        -2.184736e-06 -2.689801e-06  6.624091e-06  1.429339e-05
## Value_Import       4.364242e-07 -5.727310e-06  2.164775e-05 -4.520840e-06
## ShareQty_Import    2.186276e-06  2.688858e-06 -6.623438e-06 -1.429336e-05
## ShareValue_Import -4.375776e-07  5.728430e-06 -2.164823e-05  4.520849e-06
## 
## $cor
##                       Dim.1      Dim.2        Dim.3       Dim.4       Dim.5
## Qty_Export        0.4785305  0.8675639  0.015922513 -0.10759618  0.08069069
## Value_Export      0.5615270  0.8029945 -0.152100127  0.10334022 -0.07793301
## ShareQty_Export   0.4785144  0.8675691  0.015926016 -0.10761996  0.08069824
## ShareValue_Export 0.5615195  0.8029977 -0.152122719  0.10333423 -0.07791843
## MTperCrore_Export 0.0184312  0.3157421  0.947228716  0.05014175 -0.01451768
## Qty_Import        0.8496427 -0.5053081  0.074549269 -0.09242918 -0.09311456
## Value_Import      0.8431107 -0.5214388  0.006785856  0.08486111  0.10009196
## ShareQty_Import   0.8496439 -0.5053037  0.074557047 -0.09244006 -0.09310987
## ShareValue_Import 0.8431123 -0.5214387  0.006785575  0.08484595  0.10009260
##                           Dim.6         Dim.7         Dim.8         Dim.9
## Qty_Export        -4.982663e-06 -2.381059e-05 -5.896028e-06 -6.006957e-07
## Value_Export      -4.574198e-05  2.667624e-06  5.320939e-07 -6.608185e-07
## ShareQty_Export    4.979760e-06  2.380838e-05  5.896805e-06  6.010479e-07
## ShareValue_Export  4.574456e-05 -2.665380e-06 -5.327714e-07  6.605041e-07
## MTperCrore_Export  1.404643e-09  2.916780e-10 -1.563514e-10  7.344981e-11
## Qty_Import        -2.184736e-06 -2.689801e-06  6.624091e-06  1.429339e-05
## Value_Import       4.364242e-07 -5.727310e-06  2.164775e-05 -4.520840e-06
## ShareQty_Import    2.186276e-06  2.688858e-06 -6.623438e-06 -1.429336e-05
## ShareValue_Import -4.375776e-07  5.728430e-06 -2.164823e-05  4.520849e-06
## 
## $cos2
##                          Dim.1      Dim.2        Dim.3       Dim.4       Dim.5
## Qty_Export        0.2289914471 0.75266710 2.535264e-04 0.011576939 0.006510988
## Value_Export      0.3153126045 0.64480019 2.313445e-02 0.010679200 0.006073555
## ShareQty_Export   0.2289759909 0.75267611 2.536380e-04 0.011582056 0.006512207
## ShareValue_Export 0.3153041755 0.64480525 2.314132e-02 0.010677964 0.006071282
## MTperCrore_Export 0.0003397091 0.09969309 8.972422e-01 0.002514195 0.000210763
## Qty_Import        0.7218926564 0.25533628 5.557594e-03 0.008543153 0.008670321
## Value_Import      0.7108356780 0.27189847 4.604784e-05 0.007201408 0.010018400
## ShareQty_Import   0.7218948107 0.25533182 5.558753e-03 0.008545164 0.008669447
## ShareValue_Import 0.7108383201 0.27189827 4.604403e-05 0.007198836 0.010018529
##                          Dim.6        Dim.7        Dim.8        Dim.9
## Qty_Export        2.482693e-11 5.669440e-10 3.476315e-11 3.608353e-13
## Value_Export      2.092329e-09 7.116219e-12 2.831239e-13 4.366811e-13
## ShareQty_Export   2.479801e-11 5.668389e-10 3.477231e-11 3.612586e-13
## ShareValue_Export 2.092565e-09 7.104251e-12 2.838454e-13 4.362657e-13
## MTperCrore_Export 1.973022e-18 8.507605e-20 2.444577e-20 5.394874e-21
## Qty_Import        4.773073e-12 7.235030e-12 4.387859e-11 2.043010e-10
## Value_Import      1.904661e-13 3.280208e-11 4.686250e-10 2.043800e-11
## ShareQty_Import   4.779804e-12 7.229955e-12 4.386993e-11 2.043002e-10
## ShareValue_Import 1.914742e-13 3.281491e-11 4.686460e-10 2.043807e-11
## 
## $contrib
##                          Dim.1     Dim.2        Dim.3     Dim.4      Dim.5
## Qty_Export         5.790822704 19.059174  0.026540776 14.744140 10.3751680
## Value_Export       7.973744925 16.327748  2.421862925 13.600799  9.6781246
## ShareQty_Export    5.790431842 19.059402  0.026552456 14.750658 10.3771103
## ShareValue_Export  7.973531769 16.327877  2.422582409 13.599225  9.6745037
## MTperCrore_Export  0.008590693  2.524447 93.929089959  3.202025  0.3358479
## Qty_Import        18.255495728  6.465672  0.581804649 10.880376 13.8160357
## Value_Import      17.975882658  6.885063  0.004820584  9.171558 15.9641804
## ShareQty_Import   18.255550208  6.465559  0.581926056 10.882937 13.8146433
## ShareValue_Import 17.975949472  6.885058  0.004820185  9.168282 15.9643861
##                          Dim.6        Dim.7        Dim.8        Dim.9
## Qty_Export        5.849265e-01 4.616487e+01 3.174363e+00 7.999499e-02
## Value_Export      4.929560e+01 5.794565e-01 2.585318e-02 9.680955e-02
## ShareQty_Export   5.842452e-01 4.615631e+01 3.175200e+00 8.008883e-02
## ShareValue_Export 4.930116e+01 5.784819e-01 2.591907e-02 9.671745e-02
## MTperCrore_Export 4.648471e-08 6.927536e-09 2.232242e-09 1.196011e-09
## Qty_Import        1.124544e-01 5.891309e-01 4.006731e+00 4.529230e+01
## Value_Import      4.487411e-03 2.670993e+00 4.279204e+01 4.530979e+00
## ShareQty_Import   1.126129e-01 5.887177e-01 4.005940e+00 4.529211e+01
## ShareValue_Import 4.511162e-03 2.672038e+00 4.279396e+01 4.530997e+00
fviz_eig(pca_result,
         addlabels = TRUE,
         ncp = ncol(Export_Import_kmo),
         barfill = "skyblue",
         barcolor = "darkblue",
         linecolor = "red")
## Warning in geom_bar(stat = "identity", fill = barfill, color = barcolor, :
## Ignoring empty aesthetic: `width`.

Biplot

fviz_pca_biplot(pca_result,
                geom.ind = "point",
                addEllipses = TRUE)

correlation circle

contrib_circle <- fviz_pca_var(pca_result, col.var = "contrib",
                               gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
                               repel = TRUE) +
  ggtitle("Kontribusi Variabel")
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ The deprecated feature was likely used in the factoextra package.
##   Please report the issue at <https://github.com/kassambara/factoextra/issues>.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## ℹ The deprecated feature was likely used in the factoextra package.
##   Please report the issue at <https://github.com/kassambara/factoextra/issues>.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
plot(contrib_circle)

contribution

contrib_v_PC1 <- fviz_contrib(pca_result, choice = "var", axes = 1, top = 4) + ggtitle("PC1")
plot(contrib_v_PC1)

contrib_v_PC2 <- fviz_contrib(pca_result, choice = "var", axes = 2, top = 5) + ggtitle("PC2")
plot(contrib_v_PC2)

##FA

varcov = cov(scale_data)
pc = eigen(varcov)

cat("eigen value:")
## eigen value:
pc$values
## [1] 3.954385e+00 3.949107e+00 9.552336e-01 7.851892e-02 6.275549e-02
## [6] 4.244454e-09 1.228085e-09 1.095122e-09 4.510722e-10
cat("eigen vector:")
## eigen vector:
pc$vectors
##               [,1]       [,2]         [,3]       [,4]        [,5]          [,6]
##  [1,] -0.240641283 -0.4365681 -0.016291340 -0.3839810  0.32210508 -7.648044e-02
##  [2,] -0.282378203 -0.4040761  0.155623357  0.3687926 -0.31109684 -7.021083e-01
##  [3,] -0.240633162 -0.4365708 -0.016294925 -0.3840658  0.32213522  7.643589e-02
##  [4,] -0.282374428 -0.4040777  0.155646472  0.3687713 -0.31103864  7.021479e-01
##  [5,] -0.009268599 -0.1588851 -0.969170212  0.1789420 -0.05795238  2.156031e-05
##  [6,] -0.427264505  0.2542769 -0.076276120 -0.3298542 -0.37169928 -3.353417e-02
##  [7,] -0.423979748  0.2623940 -0.006943043  0.3028458  0.39955200  6.698834e-03
##  [8,] -0.427265143  0.2542746 -0.076284078 -0.3298930 -0.37168055  3.355781e-02
##  [9,] -0.423980536  0.2623939 -0.006942755  0.3027917  0.39955458 -6.716539e-03
##                [,7]          [,8]          [,9]
##  [1,] -6.794473e-01  1.781676e-01 -2.828342e-02
##  [2,]  7.612198e-02 -1.607897e-02 -3.111420e-02
##  [3,]  6.793843e-01 -1.781911e-01  2.830001e-02
##  [4,] -7.605794e-02  1.609945e-02  3.109940e-02
##  [5,]  8.323185e-06  4.724660e-06  3.458337e-06
##  [6,] -7.675492e-02 -2.001680e-01  6.729956e-01
##  [7,] -1.634319e-01 -6.541562e-01 -2.128608e-01
##  [8,]  7.672799e-02  2.001482e-01 -6.729942e-01
##  [9,]  1.634639e-01  6.541709e-01  2.128612e-01
sp = sum(pc$values[1:2])

L1 = sqrt(pc$values[1])*pc$vectors[,1]
L2 = sqrt(pc$values[2])*pc$vectors[,2]

L = cbind(L1,L2)
cat("factor loading:")
## factor loading:
L
##               L1         L2
##  [1,] -0.4785305 -0.8675639
##  [2,] -0.5615270 -0.8029945
##  [3,] -0.4785144 -0.8675691
##  [4,] -0.5615195 -0.8029977
##  [5,] -0.0184312 -0.3157421
##  [6,] -0.8496427  0.5053081
##  [7,] -0.8431107  0.5214388
##  [8,] -0.8496439  0.5053037
##  [9,] -0.8431123  0.5214387
fa <- principal(scale_data, nfactors = 2, rotate = "none")
## In factor.stats, I could not find the RMSEA upper bound . Sorry about that
fa
## Principal Components Analysis
## Call: principal(r = scale_data, nfactors = 2, rotate = "none")
## Standardized loadings (pattern matrix) based upon correlation matrix
##                    PC1   PC2   h2    u2 com
## Qty_Export        0.48  0.87 0.98 0.018 1.6
## Value_Export      0.56  0.80 0.96 0.040 1.8
## ShareQty_Export   0.48  0.87 0.98 0.018 1.6
## ShareValue_Export 0.56  0.80 0.96 0.040 1.8
## MTperCrore_Export 0.02  0.32 0.10 0.900 1.0
## Qty_Import        0.85 -0.51 0.98 0.023 1.6
## Value_Import      0.84 -0.52 0.98 0.017 1.7
## ShareQty_Import   0.85 -0.51 0.98 0.023 1.6
## ShareValue_Import 0.84 -0.52 0.98 0.017 1.7
## 
##                        PC1  PC2
## SS loadings           3.95 3.95
## Proportion Var        0.44 0.44
## Cumulative Var        0.44 0.88
## Proportion Explained  0.50 0.50
## Cumulative Proportion 0.50 1.00
## 
## Mean item complexity =  1.6
## Test of the hypothesis that 2 components are sufficient.
## 
## The root mean square of the residuals (RMSR) is  0.03 
##  with the empirical chi square  2.14  with prob <  1 
## 
## Fit based upon off diagonal values = 1
fa$loadings
## 
## Loadings:
##                   PC1    PC2   
## Qty_Export         0.479  0.868
## Value_Export       0.562  0.803
## ShareQty_Export    0.479  0.868
## ShareValue_Export  0.562  0.803
## MTperCrore_Export         0.316
## Qty_Import         0.850 -0.505
## Value_Import       0.843 -0.521
## ShareQty_Import    0.850 -0.505
## ShareValue_Import  0.843 -0.521
## 
##                  PC1   PC2
## SS loadings    3.954 3.949
## Proportion Var 0.439 0.439
## Cumulative Var 0.439 0.878
fa.diagram(fa$loadings)

fa_1 <- principal(scale_data, nfactors = 2, rotate = "varimax")
## In factor.stats, I could not find the RMSEA upper bound . Sorry about that
fa_1
## Principal Components Analysis
## Call: principal(r = scale_data, nfactors = 2, rotate = "varimax")
## Standardized loadings (pattern matrix) based upon correlation matrix
##                     RC1   RC2   h2    u2 com
## Qty_Export        -0.02  0.99 0.98 0.018 1.0
## Value_Export       0.08  0.98 0.96 0.040 1.0
## ShareQty_Export   -0.02  0.99 0.98 0.018 1.0
## ShareValue_Export  0.08  0.98 0.96 0.040 1.0
## MTperCrore_Export -0.14  0.28 0.10 0.900 1.5
## Qty_Import         0.99 -0.01 0.98 0.023 1.0
## Value_Import       0.99 -0.03 0.98 0.017 1.0
## ShareQty_Import    0.99 -0.01 0.98 0.023 1.0
## ShareValue_Import  0.99 -0.03 0.98 0.017 1.0
## 
##                        RC1  RC2
## SS loadings           3.95 3.95
## Proportion Var        0.44 0.44
## Cumulative Var        0.44 0.88
## Proportion Explained  0.50 0.50
## Cumulative Proportion 0.50 1.00
## 
## Mean item complexity =  1.1
## Test of the hypothesis that 2 components are sufficient.
## 
## The root mean square of the residuals (RMSR) is  0.03 
##  with the empirical chi square  2.14  with prob <  1 
## 
## Fit based upon off diagonal values = 1
scores = scale_data %*% solve(cor(scale_data)) %*% as.matrix(fa$loadings)
scores
##               PC1         PC2
##  [1,] -0.44355500 -0.29944272
##  [2,]  0.74212371 -0.62614919
##  [3,] -0.53762793 -0.20318406
##  [4,] -0.53428074 -0.24536165
##  [5,]  1.79314318 -1.38574425
##  [6,] -0.54823651 -0.14998540
##  [7,]  0.08012490  0.23333286
##  [8,] -0.09431793 -0.37405070
##  [9,] -0.44110587 -0.02132799
## [10,] -0.39580052 -0.13643281
## [11,] -0.49229231 -0.20574373
## [12,] -0.45407610 -0.12456512
## [13,] -0.52770586 -0.17509052
## [14,]  0.03145002  0.83712129
## [15,] -0.36139491 -0.26269529
## [16,] -0.15176994  0.39855140
## [17,] -0.29405720  0.18804720
## [18,] -0.12523490  0.05176839
## [19,] -0.08396256  0.66926551
## [20,] -0.51929809 -0.14925313
## [21,] -0.45562481 -0.02138391
## [22,] -0.50679159 -0.06214228
## [23,]  0.60918194  0.44882153
## [24,] -0.46874264 -0.08850205
## [25,]  2.71922158  5.14117641
## [26,] -0.37789907 -0.25304443
## [27,]  1.24614331 -0.67969080
## [28,] -0.20625990  0.30173616
## [29,] -0.55557490 -0.22916877
## [30,] -0.47850605  0.09418371
## [31,] -0.37352205 -0.29900771
## [32,] -0.30965763  0.49326802
## [33,]  0.08158506  0.06309281
## [34,] -0.02959622  0.14219021
## [35,] -0.55738380 -0.23132596
## [36,] -0.14003773  0.32012113
## [37,]  4.53842635 -2.60039011
## [38,] -0.52758848 -0.20102092
## [39,] -0.42873254 -0.30561010
## [40,] -0.42076671 -0.05236329

Perform factor analysis

FA <- fa(scale_data,
         covar = TRUE,
         nfactors = 2,
         rotate = "none", fm="pm")
## factor method not specified correctly, minimum residual (unweighted least squares  used
## In factor.stats, I could not find the RMSEA upper bound . Sorry about that
load <- FA$loadings
load
## 
## Loadings:
##                   MR1    MR2   
## Qty_Export         0.308  0.943
## Value_Export       0.398  0.890
## ShareQty_Export    0.308  0.943
## ShareValue_Export  0.398  0.890
## MTperCrore_Export         0.241
## Qty_Import         0.925 -0.338
## Value_Import       0.924 -0.355
## ShareQty_Import    0.925 -0.338
## ShareValue_Import  0.924 -0.355
## 
##                  MR1   MR2
## SS loadings    3.927 3.901
## Proportion Var 0.436 0.433
## Cumulative Var 0.436 0.870
FA$scores
##               MR1          MR2
##  [1,] -0.41689627 -0.307957455
##  [2,]  0.84586906 -0.456655275
##  [3,] -0.48736476 -0.060695725
##  [4,] -0.52232862 -0.244375948
##  [5,]  2.10130520 -1.013097434
##  [6,] -0.46090992 -0.021089422
##  [7,]  0.08665292  0.206085879
##  [8,]  0.01766623 -0.544698193
##  [9,] -0.32817000 -0.108588728
## [10,] -0.31575713 -0.300124872
## [11,] -0.40791458 -0.336430933
## [12,] -0.48987784 -0.218206514
## [13,] -0.52837705 -0.283385959
## [14,] -0.05562585  0.795918018
## [15,] -0.22669934 -0.146789114
## [16,] -0.28408109  0.250450168
## [17,] -0.26909436 -0.049015697
## [18,] -0.07787931  0.113468339
## [19,] -0.16227324  0.515671704
## [20,] -0.51735624 -0.210712385
## [21,] -0.51689806 -0.077883752
## [22,] -0.41238900  0.013390094
## [23,]  0.47667967  0.397918556
## [24,] -0.43563930  0.011145625
## [25,]  1.69964747  5.671816796
## [26,] -0.35119022 -0.428598694
## [27,]  1.29213733 -0.417711194
## [28,] -0.28611277  0.191255717
## [29,] -0.48251036 -0.185678696
## [30,] -0.49596629 -0.326244029
## [31,] -0.38034005 -0.233773603
## [32,] -0.35905280  0.006906243
## [33,]  0.14070696  0.118648298
## [34,] -0.19641720  0.018722405
## [35,] -0.55153311 -0.143885737
## [36,] -0.27555132  0.228833740
## [37,]  4.90586465 -1.701279947
## [38,] -0.48220588 -0.289032740
## [39,] -0.41056971 -0.330525303
## [40,] -0.37954778 -0.103794235
fa.diagram(load)