Tutorial R
Untuk melakukan Uji Cochran pada R, kita dapat menggunakan fungsi cochran_qtest()
yang terdapat pada package rstatix
atau fungsi cochrans.q()
pada package nonpar
.
Uji Cochran Q merupakan perluasan dari Uji McNemar dan digunakan untuk menguji apakah tiga atau lebih sampel berbeda signifikan dalam hal proporsi atau frekuensinya. Uji ini menggunakan data minimal berskala nominal yang bersifat dikotomi (misalnya, sukses atau gagal).
Untuk melakukan uji Cochran pada R, kita dapat menggunakan fungsi cochran_qtest()
yang terdapat pada package rstatix
atau fungsi cochrans.q()
pada package nonpar
.
Manajer Produksi PT AMAN sedang mempertimbangkan pembelian tiga buah Mesin untuk merakit komponen tertentu. Manajer tersebut memutuskan untuk mengambil 8 orang Pekerja sebagai sampel, dan masing-masing pekerja diminta bekerja dengan masing-masing dari ketiga Mesin tersebut. Kepada setiap Mesin, tiap pekerja memberi penilaian sebagai berikut:
Berikut adalah hasil penilaian kedelapan Pekerja:
PEKERJA | MESIN A | MESIN B | MESIN C |
---|---|---|---|
1 | 0 | 0 | 1 |
2 | 0 | 1 | 0 |
3 | 1 | 1 | 0 |
4 | 1 | 1 | 1 |
5 | 1 | 0 | 0 |
6 | 0 | 0 | 1 |
7 | 0 | 1 | 1 |
8 | 0 | 0 | 0 |
Keterangan pada baris pertama: Pekerja nomor satu menilai Mesin A adalah 0 (tidak memuaskan), Mesin B juga dengan 0, dan mesin C dengan 1 (memuaskan kinerjanya). Demikian seterusnya untuk data yang lain. Perhatikan bahwa input data hanya dua, yaitu 1 atau 0.
Tentukanlah apakah ketiga mesin memberikan kinerja yang relatif sama?
(Contoh soal diambil dari buku Menguasai SPSS Versi 25 karya Singgih Santoso, 2018)
Pembahasan:
## Input data
pekerja <- c("1","2","3","4","5","6","7","8")
mesin_A <- c(0,0,1,1,1,0,0,0)
mesin_B <- c(0,1,1,1,0,0,1,0)
mesin_C <- c(1,0,0,1,0,1,1,0)
data <- data.frame(pekerja, mesin_A, mesin_B, mesin_C)
head(data)
Output:
pekerja mesin_A mesin_B mesin_C
1 0 0 1
2 0 1 0
3 1 1 0
4 1 1 1
5 1 0 0
6 0 0 1
# Data dalam matriks
dataInMatrix <- cbind(mesin_A, mesin_B, mesin_C)
head(dataInMatrix)
Output:
mesin_A mesin_B mesin_C
[1,] 0 0 1
[2,] 0 1 0
[3,] 1 1 0
[4,] 1 1 1
[5,] 1 0 0
[6,] 0 0 1
# install.packages("nonpar")
library(nonpar)
## Cochran q test
cochrans.q(dataInMatrix, alpha = 0.05)
Output:
Cochran's Q Test
H0: There is no difference in the effectiveness of treatments.
HA: There is a difference in the effectiveness of treatments.
Q = 0.333333333333333
Degrees of Freedom = 2
Significance Level = 0.05
The p-value is 0.846481724890614
Dari output di atas, terlihat bahwa p-value = 0.846 yang mana lebih besar dari tingkat signifkansi 0.05, sehingga gagal tolak Ho. Dengan demikian, dapat disimpulkan bahwa ketiga mesin mempunyai kinerja yang relatif sama.
Selain cara di atas, kita dapat menggunakan package rstatix
.
# install.packages("rstatix)
library(rstatix)
# Input data
data.long <- reshape(data, varying = c("mesin_A", "mesin_B", "mesin_C"),
v.names = "score", timevar = "mesin", times = c("mesin_A", "mesin_B", "mesin_C"),
new.row.names = 1:1000, direction = "long")
data.long$score <- factor(data.long$score, levels = c(1, 0),
labels = c("success", "failure"))
# Cross-tabulation
xtabs(~score + mesin, data.long)
Output:
mesin
score mesin_A mesin_B mesin_C
success 3 4 4
failure 5 4 4
# membandingkan proporsi sukses antar perlakuan (treatments)
# dengan uji cochran
cochran_qtest(data.long, score ~ mesin|pekerja)
Output:
# A tibble: 1 x 6
.y. n statistic df p method
* (chr) (int) (dbl) (dbl) (dbl) (chr)
1 score 8 0.333 2 0.846 Cochran's Q test
Dari output di atas, terlihat bahwa p-value = 0.846 yang mana lebih besar dari tingkat signifikansi 0.05, sehingga gagal tolak Ho. Dengan demikian, dapat disimpulkan bahwa ketiga mesin mempunyai kinerja yang relatif sama.
Anda hidup hanya sekali, tetapi jika Anda melakukannya dengan benar, sekali itu cukup.
Mae West