data <- read_excel("Concrete_Data.xls")
colnames(data) <- c(
"Cement",
"BlastFurnaceSlag",
"FlyAsh",
"Water",
"Superplasticizer",
"CoarseAggregate",
"FineAggregate",
"Age",
"CompressiveStrength"
)
head(data)
## # A tibble: 6 × 9
## Cement BlastFurnaceSlag FlyAsh Water Superplasticizer CoarseAggregate
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 540 0 0 162 2.5 1040
## 2 540 0 0 162 2.5 1055
## 3 332. 142. 0 228 0 932
## 4 332. 142. 0 228 0 932
## 5 199. 132. 0 192 0 978.
## 6 266 114 0 228 0 932
## # ℹ 3 more variables: FineAggregate <dbl>, Age <dbl>, CompressiveStrength <dbl>
str(data)
## tibble [1,030 × 9] (S3: tbl_df/tbl/data.frame)
## $ Cement : num [1:1030] 540 540 332 332 199 ...
## $ BlastFurnaceSlag : num [1:1030] 0 0 142 142 132 ...
## $ FlyAsh : num [1:1030] 0 0 0 0 0 0 0 0 0 0 ...
## $ Water : num [1:1030] 162 162 228 228 192 228 228 228 228 228 ...
## $ Superplasticizer : num [1:1030] 2.5 2.5 0 0 0 0 0 0 0 0 ...
## $ CoarseAggregate : num [1:1030] 1040 1055 932 932 978 ...
## $ FineAggregate : num [1:1030] 676 676 594 594 826 ...
## $ Age : num [1:1030] 28 28 270 365 360 90 365 28 28 28 ...
## $ CompressiveStrength: num [1:1030] 80 61.9 40.3 41.1 44.3 ...
Penjelasan Data berisi 1030 baris dan 9 kolom numerik terkait komposisi bahan beton dan kuat tekan beton CompressiveStrength. Semua variabel sudah dalam format numerik. —
cor_matrix <- cor(data)
round(cor_matrix, 3)
## Cement BlastFurnaceSlag FlyAsh Water Superplasticizer
## Cement 1.000 -0.275 -0.397 -0.082 0.093
## BlastFurnaceSlag -0.275 1.000 -0.324 0.107 0.043
## FlyAsh -0.397 -0.324 1.000 -0.257 0.377
## Water -0.082 0.107 -0.257 1.000 -0.657
## Superplasticizer 0.093 0.043 0.377 -0.657 1.000
## CoarseAggregate -0.109 -0.284 -0.010 -0.182 -0.266
## FineAggregate -0.223 -0.282 0.079 -0.451 0.223
## Age 0.082 -0.044 -0.154 0.278 -0.193
## CompressiveStrength 0.498 0.135 -0.106 -0.290 0.366
## CoarseAggregate FineAggregate Age CompressiveStrength
## Cement -0.109 -0.223 0.082 0.498
## BlastFurnaceSlag -0.284 -0.282 -0.044 0.135
## FlyAsh -0.010 0.079 -0.154 -0.106
## Water -0.182 -0.451 0.278 -0.290
## Superplasticizer -0.266 0.223 -0.193 0.366
## CoarseAggregate 1.000 -0.179 -0.003 -0.165
## FineAggregate -0.179 1.000 -0.156 -0.167
## Age -0.003 -0.156 1.000 0.329
## CompressiveStrength -0.165 -0.167 0.329 1.000
Penjelasan: Matriks korelasi menunjukkan kekuatan dan arah hubungan linear antar variabel. Nilai mendekati 1 berarti hubungan positif kuat, mendekati -1 berarti hubungan negatif kuat, dan mendekati 0 berarti hubungan lemah.
corrplot(
cor_matrix,
method = "color",
type = "upper",
tl.col = "black",
tl.cex = 0.8
)
Matriks korelasi menunjukkan hubungan linear antar variabel.
- Korelasi positif antara Cement dan Age dengan
CompressiveStrength menunjukkan bahwa semakin banyak semen dan
semakin tua umur beton, kuat tekan cenderung meningkat.
- Korelasi negatif antara Water dan
CompressiveStrength menunjukkan bahwa semakin banyak air, kuat
tekan beton cenderung menurun.
cov_matrix <- cov(data)
round(cov_matrix, 2)
## Cement BlastFurnaceSlag FlyAsh Water Superplasticizer
## Cement 10921.74 -2481.36 -2658.35 -181.99 57.91
## BlastFurnaceSlag -2481.36 7444.08 -1786.61 197.68 22.36
## FlyAsh -2658.35 -1786.61 4095.55 -351.30 144.25
## Water -181.99 197.68 -351.30 456.06 -83.87
## Superplasticizer 57.91 22.36 144.25 -83.87 35.68
## CoarseAggregate -888.61 -1905.21 -49.64 -302.72 -123.69
## FineAggregate -1866.15 -1947.91 405.74 -771.57 106.56
## Age 540.99 -241.15 -624.06 374.50 -72.72
## CompressiveStrength 869.15 194.33 -113.06 -103.32 36.53
## CoarseAggregate FineAggregate Age CompressiveStrength
## Cement -888.61 -1866.15 540.99 869.15
## BlastFurnaceSlag -1905.21 -1947.91 -241.15 194.33
## FlyAsh -49.64 405.74 -624.06 -113.06
## Water -302.72 -771.57 374.50 -103.32
## Superplasticizer -123.69 106.56 -72.72 36.53
## CoarseAggregate 6045.66 -1112.80 -14.81 -214.23
## FineAggregate -1112.80 6428.10 -790.57 -224.01
## Age -14.81 -790.57 3990.44 347.06
## CompressiveStrength -214.23 -224.01 347.06 279.08
Penjelasan: Elemen diagonal menunjukkan varians tiap variabel, sedangkan elemen di luar diagonal menunjukkan kovarians antar variabel. Nilai kovarians besar menunjukkan perubahan dua variabel yang saling berkaitan. # Eigen Value dan Eigen Vector
eigen_result <- eigen(cov_matrix)
# Eigen values
round(eigen_result$values, 3)
## [1] 12897.943 9825.434 7287.263 4247.634 3986.922 1268.122 102.073
## [8] 69.746 11.253
# Eigen vectors
round(eigen_result$vectors, 3)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 0.904 -0.023 0.152 0.013 0.154 -0.277 -0.184 0.155 -0.011
## [2,] -0.255 -0.789 0.071 0.201 0.101 -0.434 -0.183 0.188 -0.012
## [3,] -0.239 0.299 -0.049 -0.686 0.188 -0.495 -0.194 0.248 0.003
## [4,] 0.005 -0.075 -0.042 -0.076 -0.094 0.468 -0.071 0.833 -0.247
## [5,] -0.001 0.005 0.024 -0.020 0.023 -0.101 0.056 -0.222 -0.967
## [6,] -0.013 0.276 -0.760 0.479 0.062 -0.275 -0.076 0.173 -0.042
## [7,] -0.212 0.446 0.613 0.481 -0.146 -0.256 -0.102 0.227 -0.027
## [8,] 0.100 -0.070 -0.118 -0.147 -0.946 -0.204 -0.113 -0.028 -0.001
## [9,] 0.067 -0.040 0.020 -0.032 -0.045 -0.279 0.926 0.233 0.029
Penjelasan: Eigen values menunjukkan seberapa besar variasi data yang dijelaskan oleh masing-masing komponen utama. Eigen vectors menunjukkan kontribusi setiap variabel terhadap komponen tersebut.