library(readxl) library(REdaS) library(psych) library(DT) library(dplyr) library(FactoMineR) library(factoextra)

data <- read_excel(“C:/Users/LENOVO/Downloads/dataset-uci.xlsx”) data

str(data)

data_selected <- data[, c( ‘Age’, ‘Height’, ‘Weight’, ‘Body Mass Index (BMI)’, ‘Total Body Water (TBW)’, ‘Extracellular Water (ECW)’, ‘Intracellular Water (ICW)’, ‘Extracellular Fluid/Total Body Water (ECF/TBW)’, ‘Total Body Fat Ratio (TBFR) (%)’, ‘Lean Mass (LM) (%)’, ‘Body Protein Content (Protein) (%)’, ‘Visceral Fat Rating (VFR)’, ‘Bone Mass (BM)’, ‘Muscle Mass (MM)’, ‘Obesity (%)’, ‘Total Fat Content (TFC)’, ‘Visceral Fat Area (VFA)’, ‘Visceral Muscle Area (VMA) (Kg)’, ‘Glucose’, ‘Total Cholesterol (TC)’, ‘Low Density Lipoprotein (LDL)’, ‘High Density Lipoprotein (HDL)’, ‘Triglyceride’, ‘Aspartat Aminotransferaz (AST)’, ‘Alanin Aminotransferaz (ALT)’, ‘Alkaline Phosphatase (ALP)’, ‘Creatinine’, ‘Glomerular Filtration Rate (GFR)’, ‘C-Reactive Protein (CRP)’, ‘Hemoglobin (HGB)’, ‘Vitamin D’ )]

#rename variabel colnames(data_selected) <- paste0(“X”, 1:ncol(data_selected)) head(data_selected)

#correlation cor(data_selected)

#cek MSA r <- cor(data_selected) KMO(r)

#delete X21 data_selected = data_selected[-21]

#delete X20 data_selected = data_selected[-20]

#delete X8 data_selected = data_selected[-8]

#Bartlett Test bartlett.test(data_selected)

cortest.bartlett(data_selected)

scale data

scale_data = scale(data_selected) r = cov(scale_data)

pca_test <- prcomp(scale(data_selected)) ncol(pca_test$rotation)

pca_result <- PCA(scale_data, scale.unit = TRUE, graph = FALSE, ncp=ncol(data_selected))

summary pca result

pca_result$eig # vs print(cumvar)

scree plot

fviz_eig(pca_result, addlabels = TRUE, ncp = ncol(data_selected), barfill = “skyblue”, barcolor = “darkblue”, linecolor = “red”)

#Biplot fviz_pca_biplot(pca_result, geom.ind = “point”, #col.ind = status.ipm, #palette = c(“#FC4E07”,“#E7B800”, “#00AFBB”), addEllipses = TRUE, #legend.title = “Kategori” )

correlation circle

contrib_circle <- fviz_pca_var(pca_result, col.var = “contrib”, gradient.cols = c(“#00AFBB”, “#E7B800”, “#FC4E07”), repel = TRUE) + ggtitle(“Kontribusi Variabel”) plot(contrib_circle)

pca_final <- principal(data_selected, nfactors = 7, rotate = “none”)

print(pca_final$loadings, cutoff = 0.4)

pca_rot <- principal(data_selected, nfactors = 7, rotate = “varimax”)

print(pca_rot$loadings, cutoff = 0.4)

#Factor analysis fa <- principal(scale_data, nfactors = 7, rotate = “none”) fa

Factor Analysis with rotation varimax

fa_1 <- principal(scale_data, nfactors = 7, rotate = “varimax”)

print(fa_1$loadings, cutoff = 0.4, sort = TRUE)

scores FA

scores_FA = scale_data %% solve(cor(scale_data)) %% as.matrix(fa$loadings) scores_FA