#Loading data

housing_data <- read.csv("C:\\Users\\Toshiba\\Downloads\\archive (4)\\Housing.csv", header = TRUE, sep = ",")

Menampilkan ringkasan data

summary(housing_data)
##      price               area          bedrooms       bathrooms    
##  Min.   : 1750000   Min.   : 1650   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 3430000   1st Qu.: 3600   1st Qu.:2.000   1st Qu.:1.000  
##  Median : 4340000   Median : 4600   Median :3.000   Median :1.000  
##  Mean   : 4766729   Mean   : 5151   Mean   :2.965   Mean   :1.286  
##  3rd Qu.: 5740000   3rd Qu.: 6360   3rd Qu.:3.000   3rd Qu.:2.000  
##  Max.   :13300000   Max.   :16200   Max.   :6.000   Max.   :4.000  
##     stories        mainroad          guestroom           basement        
##  Min.   :1.000   Length:545         Length:545         Length:545        
##  1st Qu.:1.000   Class :character   Class :character   Class :character  
##  Median :2.000   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :1.806                                                           
##  3rd Qu.:2.000                                                           
##  Max.   :4.000                                                           
##  hotwaterheating    airconditioning       parking         prefarea        
##  Length:545         Length:545         Min.   :0.0000   Length:545        
##  Class :character   Class :character   1st Qu.:0.0000   Class :character  
##  Mode  :character   Mode  :character   Median :0.0000   Mode  :character  
##                                        Mean   :0.6936                     
##                                        3rd Qu.:1.0000                     
##                                        Max.   :3.0000                     
##  furnishingstatus  
##  Length:545        
##  Class :character  
##  Mode  :character  
##                    
##                    
## 

Mengecek tipe data

summary(housing_data)
##      price               area          bedrooms       bathrooms    
##  Min.   : 1750000   Min.   : 1650   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 3430000   1st Qu.: 3600   1st Qu.:2.000   1st Qu.:1.000  
##  Median : 4340000   Median : 4600   Median :3.000   Median :1.000  
##  Mean   : 4766729   Mean   : 5151   Mean   :2.965   Mean   :1.286  
##  3rd Qu.: 5740000   3rd Qu.: 6360   3rd Qu.:3.000   3rd Qu.:2.000  
##  Max.   :13300000   Max.   :16200   Max.   :6.000   Max.   :4.000  
##     stories        mainroad          guestroom           basement        
##  Min.   :1.000   Length:545         Length:545         Length:545        
##  1st Qu.:1.000   Class :character   Class :character   Class :character  
##  Median :2.000   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :1.806                                                           
##  3rd Qu.:2.000                                                           
##  Max.   :4.000                                                           
##  hotwaterheating    airconditioning       parking         prefarea        
##  Length:545         Length:545         Min.   :0.0000   Length:545        
##  Class :character   Class :character   1st Qu.:0.0000   Class :character  
##  Mode  :character   Mode  :character   Median :0.0000   Mode  :character  
##                                        Mean   :0.6936                     
##                                        3rd Qu.:1.0000                     
##                                        Max.   :3.0000                     
##  furnishingstatus  
##  Length:545        
##  Class :character  
##  Mode  :character  
##                    
##                    
## 

Menghitung Variance untuk setiap kolom numerik

variance_values <- sapply(housing_data[, sapply(housing_data, is.numeric)], var)
print("Variance Values:")
## [1] "Variance Values:"
print(variance_values)
##        price         area     bedrooms    bathrooms      stories      parking 
## 3.498544e+12 4.709512e+06 5.447383e-01 2.524757e-01 7.525432e-01 7.423300e-01

Menghitung Covariance Matrix

covariance_matrix <- cov(housing_data[, sapply(housing_data, is.numeric)])
print("Covariance Matrix:")
## [1] "Covariance Matrix:"
print(covariance_matrix)
##                  price         area     bedrooms    bathrooms      stories
## price     3.498544e+12 2.175676e+09 5.059464e+05 4.864093e+05 6.826446e+05
## area      2.175676e+09 4.709512e+06 2.432321e+02 2.113466e+02 1.581294e+02
## bedrooms  5.059464e+05 2.432321e+02 5.447383e-01 1.386738e-01 2.615893e-01
## bathrooms 4.864093e+05 2.113466e+02 1.386738e-01 2.524757e-01 1.421715e-01
## stories   6.826446e+05 1.581294e+02 2.615893e-01 1.421715e-01 7.525432e-01
## parking   6.194673e+05 6.599897e+02 8.856247e-02 7.684161e-02 3.404277e-02
##                parking
## price     6.194673e+05
## area      6.599897e+02
## bedrooms  8.856247e-02
## bathrooms 7.684161e-02
## stories   3.404277e-02
## parking   7.423300e-01

Menghitung Correlation Matrix

correlation_matrix <- cor(housing_data[, sapply(housing_data, is.numeric)])
print("Correlation Matrix:")
## [1] "Correlation Matrix:"
print(correlation_matrix)
##               price       area  bedrooms bathrooms    stories    parking
## price     1.0000000 0.53599735 0.3664940 0.5175453 0.42071237 0.38439365
## area      0.5359973 1.00000000 0.1518585 0.1938195 0.08399605 0.35298048
## bedrooms  0.3664940 0.15185849 1.0000000 0.3739302 0.40856424 0.13926990
## bathrooms 0.5175453 0.19381953 0.3739302 1.0000000 0.32616471 0.17749582
## stories   0.4207124 0.08399605 0.4085642 0.3261647 1.00000000 0.04554709
## parking   0.3843936 0.35298048 0.1392699 0.1774958 0.04554709 1.00000000

Menghitung Eigen Value dan Eigen Vector dari Correlation Matrix

eigen_results <- eigen(correlation_matrix)

Menampilkan Hasil Eigen Value dan Eigen Vector

print("Eigen Values:")
## [1] "Eigen Values:"
print(eigen_results$values)
## [1] 2.5561051 1.2171486 0.6771415 0.6566698 0.5908395 0.3020955
print("Eigen Vectors:")
## [1] "Eigen Vectors:"
print(eigen_results$vectors)
##            [,1]       [,2]        [,3]        [,4]        [,5]        [,6]
## [1,] -0.5395439  0.1203486  0.24279104  0.04162299 -0.14135501  0.78342034
## [2,] -0.3685384  0.5178529  0.51575760 -0.22455991  0.31542421 -0.42436114
## [3,] -0.3915181 -0.3822393 -0.38949056 -0.24634216  0.69703170  0.04864311
## [4,] -0.4322131 -0.2116685  0.01788812  0.81460710 -0.03855905 -0.32093105
## [5,] -0.3682862 -0.4917297  0.12475034 -0.46684594 -0.55146176 -0.29146070
## [6,] -0.3119977  0.5335130 -0.71236303 -0.07500705 -0.29845646 -0.12592842