Library
library(readxl)
library(corrplot)
## corrplot 0.95 loaded
Import Data
data <- read_xls("Concrete_Data.xls")
str(data)
## tibble [1,030 × 9] (S3: tbl_df/tbl/data.frame)
## $ Cement (component 1)(kg in a m^3 mixture) : num [1:1030] 540 540 332 332 199 ...
## $ Blast Furnace Slag (component 2)(kg in a m^3 mixture): num [1:1030] 0 0 142 142 132 ...
## $ Fly Ash (component 3)(kg in a m^3 mixture) : num [1:1030] 0 0 0 0 0 0 0 0 0 0 ...
## $ Water (component 4)(kg in a m^3 mixture) : num [1:1030] 162 162 228 228 192 228 228 228 228 228 ...
## $ Superplasticizer (component 5)(kg in a m^3 mixture) : num [1:1030] 2.5 2.5 0 0 0 0 0 0 0 0 ...
## $ Coarse Aggregate (component 6)(kg in a m^3 mixture) : num [1:1030] 1040 1055 932 932 978 ...
## $ Fine Aggregate (component 7)(kg in a m^3 mixture) : num [1:1030] 676 676 594 594 826 ...
## $ Age (day) : num [1:1030] 28 28 270 365 360 90 365 28 28 28 ...
## $ Concrete compressive strength(MPa, megapascals) : num [1:1030] 80 61.9 40.3 41.1 44.3 ...
Preprocessing Data
data_numeric <- data[sapply(data, is.numeric)]
Pada proses ini berfungsi untuk memilih kolom yang berisi numerik
karena pada tahap - tahap berikutnya hanya dibutuhkan data numerik aja
untuk dianalisis
Correlation Matrix
cor_matrix <- cor(data_numeric, use = "complete.obs")
cor_df <- as.data.frame(round(cor_matrix, 3))
print(cor_df)
## Cement (component 1)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 1.000
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.275
## Fly Ash (component 3)(kg in a m^3 mixture) -0.397
## Water (component 4)(kg in a m^3 mixture) -0.082
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.093
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.109
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.223
## Age (day) 0.082
## Concrete compressive strength(MPa, megapascals) 0.498
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.275
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 1.000
## Fly Ash (component 3)(kg in a m^3 mixture) -0.324
## Water (component 4)(kg in a m^3 mixture) 0.107
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.043
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.284
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.282
## Age (day) -0.044
## Concrete compressive strength(MPa, megapascals) 0.135
## Fly Ash (component 3)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.397
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.324
## Fly Ash (component 3)(kg in a m^3 mixture) 1.000
## Water (component 4)(kg in a m^3 mixture) -0.257
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.377
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.010
## Fine Aggregate (component 7)(kg in a m^3 mixture) 0.079
## Age (day) -0.154
## Concrete compressive strength(MPa, megapascals) -0.106
## Water (component 4)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.082
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 0.107
## Fly Ash (component 3)(kg in a m^3 mixture) -0.257
## Water (component 4)(kg in a m^3 mixture) 1.000
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.657
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.182
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.451
## Age (day) 0.278
## Concrete compressive strength(MPa, megapascals) -0.290
## Superplasticizer (component 5)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 0.093
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 0.043
## Fly Ash (component 3)(kg in a m^3 mixture) 0.377
## Water (component 4)(kg in a m^3 mixture) -0.657
## Superplasticizer (component 5)(kg in a m^3 mixture) 1.000
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.266
## Fine Aggregate (component 7)(kg in a m^3 mixture) 0.223
## Age (day) -0.193
## Concrete compressive strength(MPa, megapascals) 0.366
## Coarse Aggregate (component 6)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.109
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.284
## Fly Ash (component 3)(kg in a m^3 mixture) -0.010
## Water (component 4)(kg in a m^3 mixture) -0.182
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.266
## Coarse Aggregate (component 6)(kg in a m^3 mixture) 1.000
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.179
## Age (day) -0.003
## Concrete compressive strength(MPa, megapascals) -0.165
## Fine Aggregate (component 7)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -0.223
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.282
## Fly Ash (component 3)(kg in a m^3 mixture) 0.079
## Water (component 4)(kg in a m^3 mixture) -0.451
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.223
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.179
## Fine Aggregate (component 7)(kg in a m^3 mixture) 1.000
## Age (day) -0.156
## Concrete compressive strength(MPa, megapascals) -0.167
## Age (day)
## Cement (component 1)(kg in a m^3 mixture) 0.082
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.044
## Fly Ash (component 3)(kg in a m^3 mixture) -0.154
## Water (component 4)(kg in a m^3 mixture) 0.278
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.193
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.003
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.156
## Age (day) 1.000
## Concrete compressive strength(MPa, megapascals) 0.329
## Concrete compressive strength(MPa, megapascals)
## Cement (component 1)(kg in a m^3 mixture) 0.498
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 0.135
## Fly Ash (component 3)(kg in a m^3 mixture) -0.106
## Water (component 4)(kg in a m^3 mixture) -0.290
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.366
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.165
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.167
## Age (day) 0.329
## Concrete compressive strength(MPa, megapascals) 1.000
Visualisasi Correlation Matrix
cor_mat <- as.matrix(cor_df)
corrplot(cor_mat,
method = "color",
type = "full",
addCoef.col = "black",
number.cex = 0.9,
tl.cex = 0.9,
tl.srt = 45)

Pada visualisasi tersebut dapat diihat semakin terang warna merah
berarti korelasi positif semakin kuat (kedua variabel naik), semakin
gelap warna biru berarti korelasi negatif semakin kuat (satu naik satu
turun), warna putih/kuning pucat berarti korelasi lemah atau hampir
tidak ada hubungan (mendekati 0), dan diagonal selalu merah terang
(1.00) karena setiap variabel sempurna berkorelasi dengan dirinya
sendiri
Variance-Covariance Matrix
cov_matrix <- cov(data_numeric, use = "complete.obs")
cov_df <- as.data.frame(round(cov_matrix, 2))
print(cov_df)
## Cement (component 1)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 10921.74
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -2481.36
## Fly Ash (component 3)(kg in a m^3 mixture) -2658.35
## Water (component 4)(kg in a m^3 mixture) -181.99
## Superplasticizer (component 5)(kg in a m^3 mixture) 57.91
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -888.61
## Fine Aggregate (component 7)(kg in a m^3 mixture) -1866.15
## Age (day) 540.99
## Concrete compressive strength(MPa, megapascals) 869.15
## Blast Furnace Slag (component 2)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -2481.36
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 7444.08
## Fly Ash (component 3)(kg in a m^3 mixture) -1786.61
## Water (component 4)(kg in a m^3 mixture) 197.68
## Superplasticizer (component 5)(kg in a m^3 mixture) 22.36
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -1905.21
## Fine Aggregate (component 7)(kg in a m^3 mixture) -1947.91
## Age (day) -241.15
## Concrete compressive strength(MPa, megapascals) 194.33
## Fly Ash (component 3)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -2658.35
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -1786.61
## Fly Ash (component 3)(kg in a m^3 mixture) 4095.55
## Water (component 4)(kg in a m^3 mixture) -351.30
## Superplasticizer (component 5)(kg in a m^3 mixture) 144.25
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -49.64
## Fine Aggregate (component 7)(kg in a m^3 mixture) 405.74
## Age (day) -624.06
## Concrete compressive strength(MPa, megapascals) -113.06
## Water (component 4)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -181.99
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 197.68
## Fly Ash (component 3)(kg in a m^3 mixture) -351.30
## Water (component 4)(kg in a m^3 mixture) 456.06
## Superplasticizer (component 5)(kg in a m^3 mixture) -83.87
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -302.72
## Fine Aggregate (component 7)(kg in a m^3 mixture) -771.57
## Age (day) 374.50
## Concrete compressive strength(MPa, megapascals) -103.32
## Superplasticizer (component 5)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) 57.91
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 22.36
## Fly Ash (component 3)(kg in a m^3 mixture) 144.25
## Water (component 4)(kg in a m^3 mixture) -83.87
## Superplasticizer (component 5)(kg in a m^3 mixture) 35.68
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -123.69
## Fine Aggregate (component 7)(kg in a m^3 mixture) 106.56
## Age (day) -72.72
## Concrete compressive strength(MPa, megapascals) 36.53
## Coarse Aggregate (component 6)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -888.61
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -1905.21
## Fly Ash (component 3)(kg in a m^3 mixture) -49.64
## Water (component 4)(kg in a m^3 mixture) -302.72
## Superplasticizer (component 5)(kg in a m^3 mixture) -123.69
## Coarse Aggregate (component 6)(kg in a m^3 mixture) 6045.66
## Fine Aggregate (component 7)(kg in a m^3 mixture) -1112.80
## Age (day) -14.81
## Concrete compressive strength(MPa, megapascals) -214.23
## Fine Aggregate (component 7)(kg in a m^3 mixture)
## Cement (component 1)(kg in a m^3 mixture) -1866.15
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -1947.91
## Fly Ash (component 3)(kg in a m^3 mixture) 405.74
## Water (component 4)(kg in a m^3 mixture) -771.57
## Superplasticizer (component 5)(kg in a m^3 mixture) 106.56
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -1112.80
## Fine Aggregate (component 7)(kg in a m^3 mixture) 6428.10
## Age (day) -790.57
## Concrete compressive strength(MPa, megapascals) -224.01
## Age (day)
## Cement (component 1)(kg in a m^3 mixture) 540.99
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -241.15
## Fly Ash (component 3)(kg in a m^3 mixture) -624.06
## Water (component 4)(kg in a m^3 mixture) 374.50
## Superplasticizer (component 5)(kg in a m^3 mixture) -72.72
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -14.81
## Fine Aggregate (component 7)(kg in a m^3 mixture) -790.57
## Age (day) 3990.44
## Concrete compressive strength(MPa, megapascals) 347.06
## Concrete compressive strength(MPa, megapascals)
## Cement (component 1)(kg in a m^3 mixture) 869.15
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 194.33
## Fly Ash (component 3)(kg in a m^3 mixture) -113.06
## Water (component 4)(kg in a m^3 mixture) -103.32
## Superplasticizer (component 5)(kg in a m^3 mixture) 36.53
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -214.23
## Fine Aggregate (component 7)(kg in a m^3 mixture) -224.01
## Age (day) 347.06
## Concrete compressive strength(MPa, megapascals) 279.08
Visualisasi Variance-Covariance Matrix
cov_mat <- as.matrix(cov_df)
corrplot(cov_mat,
method = "color",
type = "full",
addCoef.col = "black",
number.cex = 0.9,
tl.cex = 0.9,
tl.srt = 45,
is.corr = FALSE)

Eigen Value
n_pc <- min(8, ncol(data_numeric))
n_features <- ncol(data_numeric)
eigen_df <- data.frame(
PC = paste0("PC", 1:n_pc),
Eigenvalue = round(eigen_result$values[1:n_pc], 3),
Proportion = round(eigen_result$values[1:n_pc]/sum(eigen_result$values), 3),
Cumulative = round(cumsum(eigen_result$values[1:n_pc]/sum(eigen_result$values)), 3)
)
print(eigen_df)
## PC Eigenvalue Proportion Cumulative
## 1 PC1 12897.943 0.325 0.325
## 2 PC2 9825.434 0.248 0.572
## 3 PC3 7287.263 0.184 0.756
## 4 PC4 4247.634 0.107 0.863
## 5 PC5 3986.922 0.100 0.963
## 6 PC6 1268.122 0.032 0.995
## 7 PC7 102.073 0.003 0.998
## 8 PC8 69.746 0.002 1.000
Eigen Vector
eigen_vec_df <- data.frame(
row.names = colnames(data_numeric),
round(eigen_result$vectors[,1:n_pc], 3)
)
colnames(eigen_vec_df) <- paste0("PC", 1:n_pc)
print (eigen_vec_df)
## PC1 PC2 PC3
## Cement (component 1)(kg in a m^3 mixture) 0.904 -0.023 -0.152
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.255 -0.789 -0.071
## Fly Ash (component 3)(kg in a m^3 mixture) -0.239 0.299 0.049
## Water (component 4)(kg in a m^3 mixture) 0.005 -0.075 0.042
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.001 0.005 -0.024
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.013 0.276 0.760
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.212 0.446 -0.613
## Age (day) 0.100 -0.070 0.118
## Concrete compressive strength(MPa, megapascals) 0.067 -0.040 -0.020
## PC4 PC5 PC6
## Cement (component 1)(kg in a m^3 mixture) 0.013 0.154 -0.277
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) 0.201 0.101 -0.434
## Fly Ash (component 3)(kg in a m^3 mixture) -0.686 0.188 -0.495
## Water (component 4)(kg in a m^3 mixture) -0.076 -0.094 0.468
## Superplasticizer (component 5)(kg in a m^3 mixture) -0.020 0.023 -0.101
## Coarse Aggregate (component 6)(kg in a m^3 mixture) 0.479 0.062 -0.275
## Fine Aggregate (component 7)(kg in a m^3 mixture) 0.481 -0.146 -0.256
## Age (day) -0.147 -0.946 -0.204
## Concrete compressive strength(MPa, megapascals) -0.032 -0.045 -0.279
## PC7 PC8
## Cement (component 1)(kg in a m^3 mixture) -0.184 0.155
## Blast Furnace Slag (component 2)(kg in a m^3 mixture) -0.183 0.188
## Fly Ash (component 3)(kg in a m^3 mixture) -0.194 0.248
## Water (component 4)(kg in a m^3 mixture) -0.071 0.833
## Superplasticizer (component 5)(kg in a m^3 mixture) 0.056 -0.222
## Coarse Aggregate (component 6)(kg in a m^3 mixture) -0.076 0.173
## Fine Aggregate (component 7)(kg in a m^3 mixture) -0.102 0.227
## Age (day) -0.113 -0.028
## Concrete compressive strength(MPa, megapascals) 0.926 0.233
Tabel eigen vector menunjukkan bobot relatif setiap variabel
komposisi beton (Cement, Water, Age, dll) terhadap PC1-PC8 di mana nilai
absolut terbesar menandakan variabel paling dominan pada PC
tersebut