วิธีทำการทดสอบ 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *