Paired Sample t-Test
Artikel ini memberikan contoh analisis uji Beda data berpasangan bisanya digunakan untuk uji beda rata-rata dua data dari sumber yang sama dengan perlakuan/karakteristik yang berbeda pada masing-masing kelompok data, berikut ini adalah contoh data nilai math waktu SD dan SMA (sederajat) dari 22 orang mahasiswa, misal nama datanya adalah dataPaired.xlsx, kita lakukan import data terlebih dahulu ke RStudio.
tingkat | nilaimath |
mathSD | 8 |
mathSD | 7 |
mathSD | 7 |
mathSD | 9 |
mathSD | 7 |
mathSD | 9 |
mathSD | 9 |
mathSD | 5 |
mathSD | 5 |
mathSD | 8 |
mathSD | 5 |
mathSD | 5 |
mathSD | 8 |
mathSD | 9 |
mathSD | 5 |
mathSD | 8 |
mathSD | 7 |
mathSD | 7 |
mathSD | 9 |
mathSD | 4 |
mathSD | 10 |
mathSD | 3 |
mathSMA | 5 |
mathSMA | 6 |
mathSMA | 7 |
mathSMA | 9 |
mathSMA | 8 |
mathSMA | 8 |
mathSMA | 8 |
mathSMA | 5 |
mathSMA | 8 |
mathSMA | 7 |
mathSMA | 6 |
mathSMA | 6 |
mathSMA | 8 |
mathSMA | 8 |
mathSMA | 5 |
mathSMA | 3 |
mathSMA | 9 |
mathSMA | 7 |
mathSMA | 7 |
mathSMA | 6 |
mathSMA | 6 |
mathSMA | 7 |
Sebelum dilakukan t-test, kita akan menguji beberapa asumsi yang harus dipenuhi dari data kita, yaitu apakah data merupakan data berpasangan? apakah data besar atau kecil? jika kecil apakah selisih kedua kelompok data berdistribusi normal?
Asumsi #1 apakah data berpasangan, iya karena dua kelompok data berasal dari satu kelompok sumber yang sama.
Asumsi #2, karena data berjumlah sedikit, n<30 maka perlu dilakukan uji normalitas, kita lakukan dengan Shapiro-Wilk normality test, dengan perintah di bawah ini,
#compute the difference
> selisihnilai <- with(dataPaired,nilaimath[tingkat == "mathSD"] - nilaimath[tingkat == "mathSMA"])
#Shapiro-Wilk normality test for the differences
> shapiro.test(selisihnilai)
Shapiro-Wilk normality test
data: selisihnilai
W = 0.96213, p-value = 0.5335
Hasil di atas menunjukkan nilai p-value 0.5335 lebih besar dari significance level 0.05 yang artinya distribusi dari selisih kedua data berdistribusi normal, sehingga asumsi normalitas terpenuhi.
Langkah selanjutnya kita akan menguji hipotesis di bawah ini,
h0: tidak ada perbedaan signifikan rata-rata nilai di masa SD dengan masa SMA
ha: ada perbedaan signifikan rata-rata nilai di masa SD dengan masa SMA
Setelah data kita import ke RStudio, maka kita gunakan perintah di bawah ini untuk analisis uji beda rata-rata,
> ttestKita <- t.test(nilaimath ~ tingkat, data = dataPaired, paired = TRUE) > ttestKita Paired t-test data: nilaimath by tingkat t = 0.50422, df = 21, p-value = 0.6194 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -0.7100959 1.1646413 sample estimates: mean of the differences 0.2272727
Hasil pengujian di atas menunjukkan nilai p-value sebesar 0.6194, lebih besar dari significance level alpha = 0.05. sehingga dapat dinyatakan kita menerima null hypothesis (h0) dan menyimpulkan bahwa tidak ada perbedaan signifikan nilai math mahasiswa sewaktu SD dan SMA.
Unpaired Sample t-Test
Kita akan membahas Unpaired Sample t-Test dengan contoh di bawah ini, tabel dataWisatawan.xlsx adalah data wisatawan yang datang ke kotaA dan kotaB tahun selama 10 tahun seperti di bawah ini,
kota | wisatawan |
kotaA | 8322 |
kotaA | 11248 |
kotaA | 11365 |
kotaA | 12172 |
kotaA | 15384 |
kotaA | 14405 |
kotaA | 19029 |
kotaA | 17286 |
kotaA | 10080 |
kotaA | 17676 |
kotaB | 8000 |
kotaB | 6500 |
kotaB | 13889 |
kotaB | 13580 |
kotaB | 14200 |
kotaB | 16869 |
kotaB | 16870 |
kotaB | 15366 |
kotaB | 11674 |
kotaB | 16417 |
Seperti biasa setelah data di import ke RStudio, sebelum dilakukan unpaired sample t-test, kita akan menguji beberapa asumsi yang harus dipenuhi dari data kita, yaitu:
Asumsi #1, apakah data merupakan data yang tidak saling berpasangan? ya, karena data merupakan data kunjungan wisatawan di dua kota yang berbeda,
Asumsi #2, apakah kedua kelompok data berdistribusi normal? maka akan dilakukan uji normalitas dengan Shapiro-Wilk test, dengan perintah di bawah ini,
#Shapiro-Wilk normality test for kotaA
> with(dataWisatawan, shapiro.test(wisatawan[kota == "kotaA"]))
Shapiro-Wilk normality test
data: wisatawan[kota == "kotaA"]
W = 0.952, p-value = 0.6922
#Shapiro-Wilk normality test for kotaB
> with(dataWisatawan, shapiro.test(wisatawan[kota == "kotaB"]))
Shapiro-Wilk normality test
data: wisatawan[kota == "kotaB"]
W = 0.86963, p-value = 0.09898
Hasil pengujian di atas didapat kedua nilai p-values lebih besar dari significance level 0.05 yang menunjukkan distribusi data tidak berbeda dari normal distribution, dengan kata lain asumsi normalitas terpenuhi.
Asumsi #3, apakah varians kedua data adalah sama? akan dilakukan pengujian F-test untuk menguji homogeneity pada variances, dengan function var.test() seperti di bawah ini,
> variancetest <- var.test(wisatawan ~ kota, data = dataWisatawan)
> variancetest
F test to compare two variances
data: wisatawan by kota
F = 0.98779, num df = 9, denom df = 9, p-value = 0.9857
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.2453523 3.9768252
sample estimates:
ratio of variances
0.9877871
Nilai p-value dari F-test adalah 0.9857, lebih besar dari significance level alpha = 0.05, menunjukkan tidak ada perbedaan signifikan antara variance kedua data, sehingga kita dapat lanjutkan ke tahap t-test dengan perintah di bawah ini,
> ttestKita <- t.test(wisatawan ~ kota, data = dataWisatawan, var.equal = TRUE)
> ttestKita
Two Sample t-test
data: wisatawan by kota
t = 0.22344, df = 18, p-value = 0.8257
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3026.625 3747.025
sample estimates:
mean in group kotaA mean in group kotaB
13696.7 13336.5
Nilai p-value hasil pengujian sebesar 0.8257 yang lebih besar dari nilai significance level alpha = 0.05 menunjukkan bahwa tidak ada perbedaan signifikan kunjungan wisatawan antara keduanya kotaA dan kotaB.