Cochran's Q Test via Friedman Test
# Create the data matrix
software_data <- matrix(c(
1, 0, 0,
1, 0, 0,
1, 0, 0,
1, 0, 0,
1, 0, 0,
1, 1, 0,
1, 1, 0,
1, 1, 1,
1, 1, 1,
0, 1, 1
), nrow = 10, byrow = TRUE)
colnames(software_data) <- c("Version A", "Version B", "Version C")
rownames(software_data) <- paste("Tester", 1:10)
print(software_data) Version A Version B Version C
Tester 1 1 0 0
Tester 2 1 0 0
Tester 3 1 0 0
Tester 4 1 0 0
Tester 5 1 0 0
Tester 6 1 1 0
Tester 7 1 1 0
Tester 8 1 1 1
Tester 9 1 1 1
Tester 10 0 1 1
# Perform the test using friedman.test()
result <- friedman.test(software_data)
print(result)
Friedman rank sum test
data: software_data
Friedman chi-squared = 7, df = 2, p-value = 0.0302
# Interpret the result
alpha <- 0.05
p <- result$p.value
if (p < alpha) {
cat("(P-value)", p, "<", alpha,
"(significance level / alpha).", "\n",
" Reject the null hypothesis:
There is a significant difference.\n")
} else {
cat("(P-value)", p, ">=", alpha,
"(significance level / alpha).", "\n",
" Do not Reject the null hypothesis:
No significant difference.\n")
}(P-value) 0.03019738 < 0.05 (significance level / alpha).
Reject the null hypothesis:
There is a significant difference.