# ============================================================
# BAB 7 - UJI KESAMAAN VARIANS POPULASI (UJI LEVENE)
# ============================================================

# --- CONTOH KASUS 1 ---

# 1. Menghitung Nilai F Tabel (alpha = 0.05, df1 = 2, df2 = 15)
qf(0.95, df1 = 2, df2 = 15)
## [1] 3.68232
# 2. Input Data Kasus 1
Nilai <- c(70, 80, 87, 77, 80, 80, 85, 70, 77, 85, 60, 80, 70, 87, 90, 77, 76, 87)
Kelas <- as.factor(c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3))
varians <- data.frame(Nilai, Kelas)
varians
##    Nilai Kelas
## 1     70     1
## 2     80     1
## 3     87     1
## 4     77     1
## 5     80     1
## 6     80     2
## 7     85     2
## 8     70     2
## 9     77     2
## 10    85     2
## 11    60     2
## 12    80     2
## 13    70     3
## 14    87     3
## 15    90     3
## 16    77     3
## 17    76     3
## 18    87     3
# 3. Uji Levene (Package car)
library(car)
## Loading required package: carData
leveneTest(Nilai ~ Kelas, data = varians)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  2  0.4267 0.6604
##       15
# 4. Uji Levene dengan Median & Mean (Package lawstat)
library(lawstat)
## 
## Attaching package: 'lawstat'
## The following object is masked from 'package:car':
## 
##     levene.test
leveneTest(varians$Nilai, varians$Kelas, location = "median", correction.method = "zero.correction")
## Levene's Test for Homogeneity of Variance (center = median: "median")
##       Df F value Pr(>F)
## group  2  0.4267 0.6604
##       15
leveneTest(varians$Nilai, varians$Kelas, location = "mean", correction.method = "zero.correction")
## Levene's Test for Homogeneity of Variance (center = median: "mean")
##       Df F value Pr(>F)
## group  2  0.4267 0.6604
##       15
# --- CONTOH KASUS 2 ---

# 1. Input Data Kasus 2
Nilai2 <- c(30, 40, 50, 60, 70, 80, 90, 10, 20, 30, 40, 50, 60, 70)
Kelas2 <- as.factor(c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2))
simpan <- data.frame(Nilai = Nilai2, Kelas = Kelas2)
simpan
##    Nilai Kelas
## 1     30     1
## 2     40     1
## 3     50     1
## 4     60     1
## 5     70     1
## 6     80     1
## 7     90     2
## 8     10     2
## 9     20     2
## 10    30     2
## 11    40     2
## 12    50     2
## 13    60     2
## 14    70     2
# 2. Ringkasan Statistik per Kelas
library(doBy)
summaryBy(Nilai ~ Kelas, data = simpan, FUN = function(x){ c(ratarata = mean(x), varians = var(x), jumlah = sum(x)) })
##   Kelas Nilai.ratarata Nilai.varians Nilai.jumlah
## 1     1          55.00         350.0          330
## 2     2          46.25         712.5          370
# 3. Menghitung Nilai F Tabel Kasus 2 (alpha = 0.05, df1 = 1, df2 = 12)
qf(0.95, df1 = 1, df2 = 12)
## [1] 4.747225
# 4. Uji Levene Kasus 2 (Mean)
leveneTest(simpan$Nilai, simpan$Kelas, location = "mean", correction.method = "zero.correction")
## Levene's Test for Homogeneity of Variance (center = median: "mean")
##       Df F value Pr(>F)
## group  1  0.8991 0.3617
##       12