วิธีทำการทดสอบของ dunn ใน r
การทดสอบครัสคัล-วาลลิส ใช้เพื่อพิจารณาว่ามีความแตกต่างที่มีนัยสำคัญทางสถิติระหว่างค่ามัธยฐานของกลุ่มอิสระตั้งแต่ 3 กลุ่มขึ้นไปหรือไม่ ถือว่าเทียบเท่าแบบไม่มีพารามิเตอร์ของ การวิเคราะห์ความแปรปรวนแบบทางเดียว
หากผลลัพธ์ของการทดสอบครัสคัล-วาลลิสมีนัยสำคัญทางสถิติ ก็ควรทำการ ทดสอบ Dunn เพื่อระบุอย่างชัดเจนว่ากลุ่มใดมีความแตกต่างกัน
บทช่วยสอนนี้จะอธิบายวิธีการทดสอบของ Dunn ใน R
ตัวอย่าง: การทดสอบ Dunn ใน R
นักวิจัยต้องการทราบว่ายาสามชนิดมีผลต่ออาการปวดหลังต่างกันหรือไม่ เขาจึงคัดเลือกคนที่มีอาการปวดหลังคล้ายกันจำนวน 30 คน และสุ่มแบ่งพวกเขาออกเป็นสามกลุ่มเพื่อรับยา A, ยา B หรือยา C หนึ่งเดือนหลังจากรับประทานยา ผู้วิจัยจะขอให้แต่ละคนให้คะแนนอาการปวดหลังของตน ระดับ 1 ถึง 100 โดย 100 หมายถึงความเจ็บปวดที่รุนแรงที่สุด
ผู้วิจัยทำการทดสอบครัสคัล-วาลลิสโดยใช้ระดับนัยสำคัญที่ 0.05 เพื่อตรวจสอบว่ามีความแตกต่างที่มีนัยสำคัญทางสถิติระหว่างค่ามัธยฐานของอาการปวดหลังในทั้งสามกลุ่มนี้หรือไม่
รหัสต่อไปนี้แสดงวิธีสร้าง data frame ใน R และทำการทดสอบ Kruskal-Wallis:
#make this example reproducible
set.seed(0)
#create data frame
data <- data.frame(drug = rep(c("A", "B", "C"), each = 10),
bread = c(runif(10, 40, 60),
runif(10, 45, 65),
runif(10, 55, 70)))
#view first six rows of data frame
head(data)
# drug pain
#1 A 57.93394
#2 A 45.31017
#3 A 47.44248
#4 A 51.45707
#5 A 58.16416
#6 A 44.03364
#perform Kruskal-Wallis Test
kruskal.test(pain ~ drug, data = data)
Kruskal-Wallis rank sum test
data: pain by drug
Kruskal-Wallis chi-squared = 11.105, df = 2, p-value = 0.003879
เนื่องจากค่า p-value โดยรวม ( 0.003879 ) น้อยกว่า 0.05 ซึ่งหมายความว่าระดับความเจ็บปวดที่รายงานระหว่างยาทั้งสามชนิดมีความแตกต่างกันอย่างมีนัยสำคัญทางสถิติ ดังนั้นเราจึงสามารถทำการทดสอบของ Dunn เพื่อระบุได้อย่างชัดเจนว่ายาชนิดใดที่แตกต่างกัน
รหัสต่อไปนี้แสดงวิธีดำเนินการทดสอบ Dunn ใน R โดยใช้ฟังก์ชัน dunnTest() จากไลบรารี FSA() :
#loadlibrary
library(FSA)
#perform Dunn's Test with Bonferroni correction for p-values
dunnTest(pain ~ drug,
data=data,
method=" bonferroni ")
Dunn (1964) Kruskal-Wallis multiple comparison
p-values adjusted with the Bonferroni method.
Comparison Z P.unadj P.adj
1 A - B -0.8890009 0.374002602 1.000000000
2 A - C -3.2258032 0.001256197 0.003768591
3 B - C -2.3368023 0.019449464 0.058348393
โปรดทราบว่าเราเลือกใช้การแก้ไข Bonferroni สำหรับค่า p ของการเปรียบเทียบหลายรายการ แต่ตัวเลือกอื่นที่เป็นไปได้ ได้แก่:
- “sidak” (การปรับสีดัก)
- “โฮล์ม” (การปรับโฮล์ม)
- “hs” (การปรับแบบโฮล์ม-ซิดัก)
- “bs” (การปรับ Bonferroni-Sidak)
- “โดย” (การปรับแบบเบนจามิน-เยคูเทลี)
- “bh” ( ขั้นตอนของ Benjamini-Hochberg )
ที่ α = 0.05 ยา A และ C เป็นยาเพียงสองชนิดเท่านั้นที่แตกต่างกันอย่างมีนัยสำคัญทางสถิติ (p-value ที่ปรับแล้ว = 0.003768 )