วิธีทำการทดสอบ mann-whitney u ใน r
การทดสอบ Mann-Whitney U (บางครั้งเรียกว่าการทดสอบผลรวมอันดับของ Wilcoxon) ใช้เพื่อเปรียบเทียบความแตกต่างระหว่างตัวอย่างอิสระ 2 ตัวอย่าง เมื่อการกระจายตัวอย่างไม่ กระจายตามปกติ และขนาดตัวอย่างมีขนาดเล็ก (n < 30)
ถือว่าเทียบเท่าแบบไม่มีพารามิเตอร์ของ การทดสอบ t สองตัวอย่างอิสระ
บทช่วยสอนนี้จะอธิบายวิธีดำเนินการทดสอบ Mann-Whitney U ใน R
ตัวอย่าง: การทดสอบ Mann-Whitney U ใน R
นักวิจัยต้องการทราบว่ายาตัวใหม่มีประสิทธิภาพในการป้องกันการโจมตีเสียขวัญหรือไม่ ผู้ป่วยทั้งหมด 12 ราย สุ่มแบ่งเป็น 2 กลุ่ม กลุ่มละ 6 ราย และกำหนดให้รับยาใหม่หรือยาหลอก จากนั้นผู้ป่วยจะบันทึกจำนวนการโจมตีเสียขวัญที่พวกเขาพบในช่วงหนึ่งเดือน
ผลลัพธ์แสดงไว้ด้านล่าง:
ยาใหม่ | พลาเซโบ |
---|---|
3 | 4 |
5 | 8 |
1 | 6 |
4 | 2 |
3 | 1 |
5 | 9 |
ทำการทดสอบ Mann-Whitney U เพื่อตรวจสอบว่าจำนวนการโจมตีเสียขวัญในผู้ป่วยที่ได้รับยาหลอกมีความแตกต่างกันเมื่อเทียบกับกลุ่มยาใหม่หรือไม่ ใช้ระดับนัยสำคัญ 0.05
มีสองวิธีที่แตกต่างกันในการทดสอบ Mann-Whitney U แต่ทั้งสองวิธีใช้ฟังก์ชัน wilcox.test() และทั้งสองวิธีก็ได้ผลลัพธ์เดียวกัน
ตัวเลือกที่ 1: ป้อนข้อมูลเป็นเวกเตอร์สองตัวแยกกัน
#create a vector for each group new <- c(3, 5, 1, 4, 3, 5) placebo <- c(4, 8, 6, 2, 1, 9) #perform the Mann Whitney U test wilcox.test(new, placebo) #output Wilcoxon rank sum test with continuity correction data: new and placebo W = 13, p-value = 0.468 alternative hypothesis: true location shift is not equal to 0
ตัวเลือกที่ 2: ป้อนข้อมูลในกรอบข้อมูลที่มีสองคอลัมน์ คอลัมน์หนึ่งประกอบด้วยจำนวนการโจมตีเสียขวัญและอีกคอลัมน์ประกอบด้วยกลุ่ม
#create a data frame with two columns, one for each group drug_data <- data.frame(attacks = c(3, 5, 1, 4, 3, 5, 4, 8, 6, 2, 1, 9), drug_group = c(rep("old", 6), rep("placebo", 6))) #perform the Mann Whitney U test wilcox.test(attacks~drug_group, data = drug_data) #output data: attacks by drug_group W = 13, p-value = 0.468 alternative hypothesis: true location shift is not equal to 0
โปรดทราบว่าทั้งสองวิธีให้ผลลัพธ์ที่เหมือนกันทุกประการ กล่าวคือ สถิติการทดสอบคือ W = 13 และค่า p ที่สอดคล้องกันคือ 0.468
เนื่องจากค่า p มากกว่า 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างได้
ซึ่งหมายความว่า เราไม่มีหลักฐานเพียงพอที่จะบอกว่าจำนวนการโจมตีเสียขวัญที่ผู้ป่วยได้รับยาหลอกประสบนั้นแตกต่างจากจำนวนที่อยู่ในกลุ่มยาใหม่
หมายเหตุเกี่ยวกับการใช้ Wilcox.test()
ตามค่าเริ่มต้น Wilcox.test() จะถือว่าคุณต้องการรันการทดสอบสมมติฐานแบบสองด้าน อย่างไรก็ตาม คุณสามารถระบุ Alternative=”less” หรือ Alternative=”more” ได้ หากคุณต้องการรันการทดสอบด้านเดียวแทน
ตัวอย่างเช่น สมมติว่าเราต้องการทดสอบสมมติฐานที่ว่ายาตัวใหม่ทำให้เกิดอาการตื่นตระหนก น้อยกว่า ยาหลอก ในกรณีนี้ เราสามารถระบุ Alternative=”less” ในฟังก์ชัน wicox.test() ของเราได้:
#create a vector for each group new <- c(3, 5, 1, 4, 3, 5) placebo <- c(4, 8, 6, 2, 1, 9) #perform the Mann Whitney U test, specify alternative="less" wilcox.test(new, placebo, alternative="less") #output Wilcoxon rank sum test with continuity correction data: new and placebo W = 13, p-value = 0.234 alternative hypothesis: true location shift is less than 0
โปรดทราบว่าสถิติการทดสอบยังคงเป็น W = 13 แต่ค่า p-value ในขณะนี้คือ 0.234 ซึ่งเท่ากับครึ่งหนึ่งของค่า p-value ก่อนหน้าสำหรับการทดสอบแบบสองด้าน
เนื่องจากค่า p มากกว่า 0.05 เสมอ เราจึงยังคงล้มเหลวในการปฏิเสธสมมติฐานว่าง
เราไม่มีหลักฐานเพียงพอที่จะกล่าวว่าจำนวนการโจมตีเสียขวัญที่เกิดขึ้นโดยผู้ป่วยในกลุ่มยาใหม่นั้นต่ำกว่าผู้ป่วยในกลุ่มยาหลอก
แหล่งข้อมูลเพิ่มเติม
คู่มือการทดสอบ Mann-Whitney U
เครื่องคิดเลขทดสอบ Mann-Whitney U