วิธีทำการทดสอบ scheffe ใน r


การวิเคราะห์ความแปรปรวนแบบทางเดียว ใช้เพื่อพิจารณาว่ามีความแตกต่างที่มีนัยสำคัญทางสถิติระหว่างค่าเฉลี่ยของกลุ่มอิสระสามกลุ่มขึ้นไปหรือไม่

หากค่า p-value โดยรวมของตาราง ANOVA ต่ำกว่าระดับนัยสำคัญที่กำหนด เราก็มีหลักฐานเพียงพอที่จะบอกว่าค่าเฉลี่ยของกลุ่มอย่างน้อยหนึ่งรายการแตกต่างจากค่าเฉลี่ยอื่นๆ

อย่างไรก็ตาม นี่ไม่ได้บอกเราว่ากลุ่ม ใด มีความแตกต่างกัน นี่บอกเราว่าค่าเฉลี่ยกลุ่มไม่เท่ากันทั้งหมด

หากต้องการทราบว่ากลุ่มใดมีความแตกต่างกัน เราต้องทำการ ทดสอบหลังการทดสอบ ที่สามารถควบคุมอัตรา ข้อผิดพลาดต่อตระกูล ได้

หนึ่งในการทดสอบหลังการทดสอบที่ใช้กันมากที่สุดคือการทดสอบ Scheffe

บทช่วยสอนนี้จะอธิบายวิธีดำเนินการทดสอบ Scheffe ใน R

ตัวอย่าง: การทดสอบ Scheffe ใน R

สมมติว่าครูต้องการทราบว่าเทคนิคการเรียนสามแบบที่แตกต่างกันนำไปสู่คะแนนสอบที่แตกต่างกันของนักเรียนหรือไม่ เพื่อทดสอบสิ่งนี้ เธอสุ่มมอบหมายให้นักเรียน 10 คนใช้เทคนิคการเรียนแต่ละเทคนิคและบันทึกผลการสอบ

เราสามารถใช้ขั้นตอนต่อไปนี้ใน R เพื่อให้พอดีกับการวิเคราะห์ความแปรปรวนแบบทางเดียวเพื่อทดสอบความแตกต่างของคะแนนสอบเฉลี่ยระหว่างทั้งสามกลุ่ม และใช้การทดสอบ Scheffe เพื่อระบุอย่างชัดเจนว่ากลุ่มใดที่แตกต่างกัน

ขั้นตอนที่ 1: สร้างชุดข้อมูล

รหัสต่อไปนี้แสดงวิธีสร้างชุดข้อมูลที่มีผลการสอบของนักเรียนทั้ง 30 คน:

 #create data frame
data <- data.frame(technique = rep (c("tech1", "tech2", "tech3"), each = 10 ),
                   score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89,
                             81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
                             77, 78, 79, 88, 89, 90, 91, 95, 95, 98))

#view first six rows of data frame
head(data)

  technical score
1 tech1 76
2 tech1 77
3 tech1 77
4 tech1 81
5 tech1 82
6 tech1 82

ขั้นตอนที่ 2: ดูผลการสอบของแต่ละกลุ่ม

รหัสต่อไปนี้แสดงวิธีสร้าง boxplots เพื่อให้เห็นภาพการกระจายผลการสอบสำหรับแต่ละกลุ่ม:

 boxplot(score ~ technique,
        data = data,
        main = "Exam Scores by Studying Technique",
        xlab = "Studying Technique",
        ylab = "Exam Scores",
        col = "steelblue",
        border = "black")

การแก้ไข Bonferroni ใน R

ขั้นตอนที่ 3: ดำเนินการวิเคราะห์ความแปรปรวนแบบทางเดียว

รหัสต่อไปนี้แสดงวิธีดำเนินการวิเคราะห์ความแปรปรวนแบบทางเดียวเพื่อทดสอบความแตกต่างระหว่างคะแนนสอบเฉลี่ยในแต่ละกลุ่ม:

 #fit the one-way ANOVA model
model <- aov(score ~ technique, data = data)

#view model output
summary(model)

            Df Sum Sq Mean Sq F value Pr(>F)  
technical 2 211.5 105.73 3.415 0.0476 *
Residuals 27 836.0 30.96                 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

เนื่องจากค่า p-value โดยรวม ( 0.0476 ) น้อยกว่า 0.05 แสดงว่าแต่ละกลุ่มมีคะแนนสอบเฉลี่ยไม่เท่ากัน

ต่อไป เราจะทำการทดสอบ Scheffe เพื่อพิจารณาว่ากลุ่มใดแตกต่างกัน

ขั้นตอนที่ 4: ทำการทดสอบ Scheffe

ในการทำการทดสอบ Scheffe เราจะใช้ฟังก์ชัน ScheffeTest() จากแพ็คเกจ DescTools

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้สำหรับตัวอย่างของเรา:

 #load DescTools package
library(DescTools)

#perform Scheffe's test
ScheffeTest(model)

  Posthoc multiple comparisons of means: Scheffe Test 
    95% family-wise confidence level

$technical
            diff lwr.ci upr.ci pval    
tech2-tech1 4.2 -2.24527202 10.645272 0.2582    
tech3-tech1 6.4 -0.04527202 12.845272 0.0519 .  
tech3-tech2 2.2 -4.24527202 8.645272 0.6803    

---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

วิธีการตีความผลลัพธ์มีดังนี้:

  • ผลต่างโดยเฉลี่ยของผลการสอบระหว่างเทคนิค 2 และเทคนิค 1 คือ 4.2 ค่า p ที่สอดคล้องกันสำหรับผลต่างเฉลี่ยคือ 0.2582
  • ผลต่างโดยเฉลี่ยของผลการสอบระหว่างเทคนิค 3 และเทคนิค 1 คือ 6.4 ค่า p ที่สอดคล้องกันสำหรับผลต่างเฉลี่ยคือ 0.0519
  • ผลต่างโดยเฉลี่ยของผลการสอบระหว่างเทคนิค 3 และเทคนิค 2 คือ 2.2 ค่า p ที่สอดคล้องกันสำหรับผลต่างเฉลี่ยคือ 0.6803

ขึ้นอยู่กับระดับนัยสำคัญที่เราตัดสินใจใช้ เพียงสองกลุ่มที่ปรากฏแตกต่างกันอย่างมีนัยสำคัญทางสถิติคือเทคนิคที่ 3 และเทคนิคที่ 1

แหล่งข้อมูลเพิ่มเติม

วิธีดำเนินการวิเคราะห์ความแปรปรวนแบบทางเดียวใน R
วิธีทำการทดสอบ Tukey ใน R
วิธีการแก้ไข Bonferroni ใน R

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

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