Seorang dosen ingin mengetahui skor variasi kuis mahasiswa Statistika Universitas Riau di kelas A, kelas B dan kelas C. Dosen tersebut ingin tahu apakah proporsi mahasiswa dengan variasi tinggi di kelas A > 30%. Ia melakukan analisis terhadap 30 mahasiswa pada setiap kelas tersebut, lalu mencatat variasi skor kuis mahasiswa kelas A, kelas B, dan kelas C.
• H₀: μA = μB = μC (rata-rata skor variasi sama di ketiga kelas) • H₁: minimal ada satu rata-rata yang berbeda
set.seed(123)
# Membuat data skor kuis untuk Kelas A dengan distribusi Chi-Square (df = 4)
kelas_A <- rchisq(30, df = 4)
kelas_A
## [1] 1.7841871 6.6236948 0.2887499 3.3250466 8.6717580 4.2352314 0.7014354
## [8] 0.2608002 6.7475639 3.9460933 4.0619944 3.2772415 1.7929525 7.0097153
## [15] 5.3629094 2.8651482 1.9536682 2.4945389 1.0131552 2.7944052 0.2909292
## [22] 0.8242572 0.8598231 2.2672431 2.3207590 2.6913834 5.3499522 4.9239299
## [29] 4.5102280 2.8502644
# Membuat data skor kuis untuk Kelas B dengan distribusi Chi-Square (df = 4)
kelas_B <- rchisq(30, df = 4)
kelas_B
## [1] 3.7429528 0.7551932 2.5123236 2.6118895 6.6884766 0.8796435
## [7] 4.0701503 1.2215674 2.7992635 2.0348706 2.8959082 3.7142112
## [13] 0.9807201 0.4056635 0.9514019 3.5522620 4.0019861 1.8957283
## [19] 10.5772819 0.6217643 3.7895551 4.1983313 3.1312380 5.6843733
## [25] 10.1230850 1.9177800 1.1992327 1.5143029 4.7086847 2.9848366
# Membuat data skor kuis untuk Kelas C dengan distribusi Chi-Square (df = 4)
kelas_C <- rchisq(30, df = 4)
kelas_C
## [1] 0.7549404 1.3890436 3.0141359 4.0179609 2.1607665 1.4129076 3.8677362
## [8] 6.2882238 4.1606641 2.2547496 3.5268026 1.9219113 3.6132674 1.6590835
## [15] 7.0005174 1.9719654 7.9285617 2.4504317 3.4667868 8.9389702 3.0930137
## [22] 6.5728860 1.7878534 2.8907188 4.2094090 4.4293160 2.4624854 1.7562056
## [29] 4.3073799 2.3843838
Setelah terbentuk dataset, maka kami menggabungkan semua skor kuis menjadi satu vektor dan membuat data frame yang berisi nilai kuis per kelas untuk memudahkan dalam menganalisis.
# Menggabungkan semua skor kuis menjadi satu vektor
skor_kuis<- c(kelas_A, kelas_B, kelas_C)
skor_kuis
## [1] 1.7841871 6.6236948 0.2887499 3.3250466 8.6717580 4.2352314
## [7] 0.7014354 0.2608002 6.7475639 3.9460933 4.0619944 3.2772415
## [13] 1.7929525 7.0097153 5.3629094 2.8651482 1.9536682 2.4945389
## [19] 1.0131552 2.7944052 0.2909292 0.8242572 0.8598231 2.2672431
## [25] 2.3207590 2.6913834 5.3499522 4.9239299 4.5102280 2.8502644
## [31] 3.7429528 0.7551932 2.5123236 2.6118895 6.6884766 0.8796435
## [37] 4.0701503 1.2215674 2.7992635 2.0348706 2.8959082 3.7142112
## [43] 0.9807201 0.4056635 0.9514019 3.5522620 4.0019861 1.8957283
## [49] 10.5772819 0.6217643 3.7895551 4.1983313 3.1312380 5.6843733
## [55] 10.1230850 1.9177800 1.1992327 1.5143029 4.7086847 2.9848366
## [61] 0.7549404 1.3890436 3.0141359 4.0179609 2.1607665 1.4129076
## [67] 3.8677362 6.2882238 4.1606641 2.2547496 3.5268026 1.9219113
## [73] 3.6132674 1.6590835 7.0005174 1.9719654 7.9285617 2.4504317
## [79] 3.4667868 8.9389702 3.0930137 6.5728860 1.7878534 2.8907188
## [85] 4.2094090 4.4293160 2.4624854 1.7562056 4.3073799 2.3843838
# Membuat data frame yang berisi nilai kuis per kelas
nilai_kuis <- data.frame(
kelas_A = kelas_A,
kelas_B = kelas_B,
kelas_C = kelas_C
)
nilai_kuis
Statistika deskriptif diperlukan untuk melihat pemusatan data seperti mean, median, dan lain-lain
summary(nilai_kuis)
## kelas_A kelas_B kelas_C
## Min. :0.2608 Min. : 0.4057 Min. :0.7549
## 1st Qu.:1.7864 1st Qu.: 1.2948 1st Qu.:2.0192
## Median :2.8223 Median : 2.8476 Median :3.0536
## Mean :3.2033 Mean : 3.2055 Mean :3.5231
## 3rd Qu.:4.4415 3rd Qu.: 3.9489 3rd Qu.:4.1972
## Max. :8.6718 Max. :10.5773 Max. :8.9390
Pada uji hipotesis tambahan kami menggunakan prop.test karena kami menggunakan data chi-square
diasumsikan bahwa nilai dengan variasi tinggi itu > 7
#jumlah mahasiswa kelas A dengan nilai > 7
tinggi_A <- sum(kelas_A > 7)
tinggi_A
## [1] 2
#total mahasiswa kelas A
total_A <- length(kelas_A)
total_A
## [1] 30
#uji proporsi untuk melihat apakah nilai kelas A dengan variasi tinggi > 30%
prop.test(x = tinggi_A, n = total_A, p = 0.3, alternative = "greater")
##
## 1-sample proportions test with continuity correction
##
## data: tinggi_A out of total_A, null probability 0.3
## X-squared = 6.7063, df = 1, p-value = 0.9952
## alternative hypothesis: true p is greater than 0.3
## 95 percent confidence interval:
## 0.01432069 1.00000000
## sample estimates:
## p
## 0.06666667
# Membuat faktor untuk penanda kelas (A, B, C) dengan masing-masing 30 data
kelas <- factor(rep(c("Kelas A", "Kelas B", "Kelas C"), each = 30))
kelas
## [1] Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A
## [10] Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A
## [19] Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A Kelas A
## [28] Kelas A Kelas A Kelas A Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B
## [37] Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B
## [46] Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B
## [55] Kelas B Kelas B Kelas B Kelas B Kelas B Kelas B Kelas C Kelas C Kelas C
## [64] Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C
## [73] Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C
## [82] Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C Kelas C
## Levels: Kelas A Kelas B Kelas C
# Membuat model ANOVA satu arah dengan skor kuis sebagai respon dan kelas sebagai faktor
anova_model <- aov(skor_kuis~kelas)
anova_model
## Call:
## aov(formula = skor_kuis ~ kelas)
##
## Terms:
## kelas Residuals
## Sum of Squares 2.0316 439.5782
## Deg. of Freedom 2 87
##
## Residual standard error: 2.247804
## Estimated effects may be unbalanced
# Menampilkan ringkasan hasil uji ANOVA
summary(anova_model)
## Df Sum Sq Mean Sq F value Pr(>F)
## kelas 2 2.0 1.016 0.201 0.818
## Residuals 87 439.6 5.053
# Uji lanjut Tukey HSD untuk melihat perbedaan antar kelas
TukeyHSD(anova_model)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = skor_kuis ~ kelas)
##
## $kelas
## diff lwr upr p adj
## Kelas B-Kelas A 0.002187297 -1.381718 1.386093 0.9999922
## Kelas C-Kelas A 0.319800632 -1.064105 1.703706 0.8462287
## Kelas C-Kelas B 0.317613335 -1.066292 1.701519 0.8481521
boxplot(skor_kuis ~ kelas, data = nilai_kuis,
main = "Skor Variasi Kuis Mahasiswa Antar Kelas",
xlab = "Kelas",
ylab = "Skor Variasi (Chi-Square)",
col = c("skyblue", "pink", "salmon"))