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
## kelas_A kelas_B kelas_C
## 1 1.7841871 3.7429528 0.7549404
## 2 6.6236948 0.7551932 1.3890436
## 3 0.2887499 2.5123236 3.0141359
## 4 3.3250466 2.6118895 4.0179609
## 5 8.6717580 6.6884766 2.1607665
## 6 4.2352314 0.8796435 1.4129076
## 7 0.7014354 4.0701503 3.8677362
## 8 0.2608002 1.2215674 6.2882238
## 9 6.7475639 2.7992635 4.1606641
## 10 3.9460933 2.0348706 2.2547496
## 11 4.0619944 2.8959082 3.5268026
## 12 3.2772415 3.7142112 1.9219113
## 13 1.7929525 0.9807201 3.6132674
## 14 7.0097153 0.4056635 1.6590835
## 15 5.3629094 0.9514019 7.0005174
## 16 2.8651482 3.5522620 1.9719654
## 17 1.9536682 4.0019861 7.9285617
## 18 2.4945389 1.8957283 2.4504317
## 19 1.0131552 10.5772819 3.4667868
## 20 2.7944052 0.6217643 8.9389702
## 21 0.2909292 3.7895551 3.0930137
## 22 0.8242572 4.1983313 6.5728860
## 23 0.8598231 3.1312380 1.7878534
## 24 2.2672431 5.6843733 2.8907188
## 25 2.3207590 10.1230850 4.2094090
## 26 2.6913834 1.9177800 4.4293160
## 27 5.3499522 1.1992327 2.4624854
## 28 4.9239299 1.5143029 1.7562056
## 29 4.5102280 4.7086847 4.3073799
## 30 2.8502644 2.9848366 2.3843838
Statistika deskriptif diperlukan untuk melihat pemusatan data seperti mean, median, variansi dan standar deviasi.
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
#menghitung varians antar kelas
var(nilai_kuis)
## kelas_A kelas_B kelas_C
## kelas_A 4.869016 -1.16904936 -1.08893940
## kelas_B -1.169049 6.16485065 -0.07592757
## kelas_C -1.088939 -0.07592757 4.12400225
# Hitung standar deviasi untuk masing-masing kelas
sd(nilai_kuis$kelas_A) # standar deviasi kelas A
## [1] 2.206585
sd(nilai_kuis$kelas_B) # standar deviasi kelas B
## [1] 2.482912
sd(nilai_kuis$kelas_C) # standar deviasi kelas C
## [1] 2.030764
Pada uji hipotesis tambahan kami menggunakan prop.test karena kami menggunakan data chi-square. Diasumsikan bahwa nilai dengan variasi tinggi itu > 7.
H₀:Proporsi mahasiwa kelas A dengan variasi tinggi = 0.3 H1:Proporsi mahasiwa kelas A dengan variasi tinggi > 0.3
#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
Interpretasi = Karena p-value (0.9952) ≫ 0.05, maka H₀ tidak ditolak. Artinya, tidak ada cukup bukti signifikan bahwa proporsi mahasiswa dengan variasi tinggi di kelas A lebih dari 30%
pada ANOVA (Analysis of Variance) digunakan untuk menguji apakah rata-rata lebih dari dua kelompok berbeda secara signifikan.Pada kasus ini, kami ingin mengetahui apakah nilai kuis Kelas A, Kelas B, dan Kelas C memiliki rata-rata yang berbeda.
# 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
summary
## function (object, ...)
## UseMethod("summary")
## <bytecode: 0x000001a426d062a8>
## <environment: namespace:base>
untuk melihat distribusi nilai kuis berdasarkan kelas.
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"))
Hasil uji ANOVA menunjukkan F = 0.201, p-value = 0.818, sehingga H₀ tidak ditolak. Artinya, tidak ada bukti yang cukup signifikan untuk menolak H₀karena tidak ada perbedaan signifikan rata-rata skor antar tiga kelas. Hal ini wajar karena data dibangkitkan secara acak tanpa pola perbedaan. Dengan sampel 30 per kelas, perbedaan kecil sulit terdeteksi; agar signifikan, diperlukan selisih rata-rata yang lebih besar atau jumlah sampel yang lebih banyak.