install.packages(“readr”)
#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))
install.packages(“psych”)
#Menghapus kolom Product.Name Export_Import <- merged_data [ , -1]
#Statistika Deskriptif library(psych) SD <- describe(Export_Import)
#Menyimpan file install.packages(“openxlsx”) library(openxlsx)
write.xlsx(SD, “tabel_data.xlsx”)
#Visualisasi Sceterplot library(ggplot2)
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()
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()
install.packages(“corrplot”) library(corrplot)
#Menghitung matriks korelasi cor(Export_Import) #visualisasinya corrplot::corrplot(cor(Export_Import), tl.col = “black”, tl.srt = 45, tl.cex = 0.5)
Export_Import_Cor <- cor(Export_Import)
#Cek KMO library(psych) kmo_result <- KMO(Export_Import) kmo_result
#Menghapus kolom MTperCrore_Import Export_Import_kmo <- Export_Import[ , -10]
#Menghitung korelasi Export_Import_kmo_Cor <- cor(Export_Import_kmo)
library(psych) kmo_result2 <- KMO(Export_Import_kmo_Cor) kmo_result2
#uji homogenitas varians bartlett.test(Export_Import_kmo)
scale_data = scale(Export_Import_kmo)
#kovarians Kovarians = cov(scale_data)
#Menghitung eigenvalue dan eigenvector pc <- eigen(Kovarians) print(‘eigen values:’) pc$values
print(‘eigen vectors:’) pc$vectors
install.packages(“dplyr”) library(dplyr)
##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)
#hasilPCA print(‘eigen vectors:’) pc$vectors
print(‘PC result’) scores <- as.matrix(scale_data) %*% pc$vectors scores
pc <- principal(Export_Import_kmo, nfactors = 2, rotate = “none”) pc
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
scores = scale_data %*% as.matrix(V) scores
install.packages(‘FactoMineR’) install.packages(‘factoextra’)
library(‘FactoMineR’) library(‘factoextra’)
#using library FactoMineR # https://rpubs.com/cahyaalkahfi/pca-with-r pca_result
<- PCA(scale_data, scale.unit = TRUE, graph = FALSE,
ncp=ncol(Export_Import_kmo))
semua dimensi (default 5)
pca_result\(eig # vs print(cumvar) pca_result\)svd\(V # vs pc\)vectors pca_result$ind[‘coord’] # vs head(scores)
pca_result$var
fviz_eig(pca_result, addlabels = TRUE, ncp = ncol(Export_Import_kmo), barfill = “skyblue”, barcolor = “darkblue”, linecolor = “red”)
#Biplot fviz_pca_biplot(pca_result, geom.ind = “point”, addEllipses = TRUE)
contrib_circle <- fviz_pca_var(pca_result, col.var = “contrib”, gradient.cols = c(“#00AFBB”, “#E7B800”, “#FC4E07”), repel = TRUE) + ggtitle(“Kontribusi Variabel”) 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:”) pc$values
cat(“eigen vector:”) pc\(vectors 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:”) L
fa <- principal(scale_data, nfactors = 2, rotate = “none”) fa
fa$loadings
fa.diagram(fa$loadings)
fa_1 <- principal(scale_data, nfactors = 2, rotate = “varimax”) fa_1
scores = scale_data %% solve(cor(scale_data)) %% as.matrix(fa$loadings) scores
FA <- fa(scale_data, covar = TRUE, nfactors = 2, rotate = “none”, fm=“pm”)
load <- FA$loadings load
FA$scores
fa.diagram(load)