كيفية إجراء تصحيح bonferroni في r
يتم استخدام ANOVA أحادي الاتجاه لتحديد ما إذا كان هناك فرق ذو دلالة إحصائية بين متوسطات ثلاث مجموعات مستقلة أو أكثر أم لا.
إذا كانت القيمة الاحتمالية الإجمالية لجدول تحليل التباين (ANOVA) أقل من مستوى معين من الأهمية، فلدينا أدلة كافية لنقول أن إحدى وسائل المجموعة على الأقل تختلف عن الوسائل الأخرى.
ومع ذلك، هذا لا يخبرنا ما هي المجموعات التي تختلف عن بعضها البعض. وهذا يخبرنا ببساطة أنه ليست كل متوسطات المجموعة متساوية.
من أجل معرفة المجموعات التي تختلف عن بعضها البعض بالضبط، نحتاج إلى إجراء اختبارات t زوجية بين كل مجموعة مع التحكم في معدل الخطأ العائلي .
إحدى الطرق الأكثر شيوعًا لتحقيق ذلك هي استخدام تصحيح Bonferroni عند حساب القيم p لكل اختبار من اختبارات t الزوجية.
يشرح هذا البرنامج التعليمي كيفية إجراء تصحيح Bonferroni في R.
مثال: تصحيح Bonferroni في R
لنفترض أن المعلم يريد معرفة ما إذا كانت ثلاث تقنيات دراسة مختلفة تؤدي إلى درجات اختبار مختلفة بين الطلاب أم لا.
ولاختبار ذلك، قامت بتعيين 10 طلاب بشكل عشوائي لاستخدام كل أسلوب من أساليب الدراسة. وبعد أسبوع من استخدام أسلوب الدراسة المخصص لهم، يقوم كل طالب بإجراء نفس الاختبار.
يمكننا استخدام الخطوات التالية في R لتناسب ANOVA أحادي الاتجاه واستخدام تصحيح Bonferroni لحساب الاختلافات الزوجية بين نتائج اختبار كل مجموعة.
الخطوة 1: إنشاء مجموعة البيانات.
يوضح الكود التالي كيفية إنشاء مجموعة بيانات تحتوي على نتائج الامتحانات لجميع الطلاب الثلاثين:
#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
الخطوة الثانية: عرض نتائج الامتحانات لكل مجموعة.
يوضح الكود التالي كيفية إنتاج boxplots لتصور توزيع نتائج الاختبار لكل مجموعة:
boxplot(score ~ technique, data = data, main = "Exam Scores by Studying Technique", xlab = "Studying Technique", ylab = "Exam Scores", col = "steelblue", border = "black")
الخطوة 3: إجراء تحليل التباين (ANOVA) في اتجاه واحد.
يوضح الكود التالي كيفية إجراء تحليل التباين (ANOVA) أحادي الاتجاه لاختبار الاختلافات بين متوسط درجات الاختبار في كل مجموعة:
#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
وبما أن القيمة الاحتمالية الإجمالية ( 0.0476 ) أقل من 0.05، فهذا يشير إلى أن كل مجموعة ليس لديها نفس متوسط درجات الاختبار.
بعد ذلك، سنقوم بإجراء اختبارات t الزوجية باستخدام تصحيح Bonferroni للقيم p لحساب الفروق الزوجية بين نتائج اختبار كل مجموعة.
الخطوة 4: إجراء اختبارات t الزوجية.
لإجراء اختبارات t الزوجية مع تصحيح Bonferroni في R، يمكننا استخدام الدالة Pairwise.t.test() ، والتي تستخدم بناء الجملة التالي:
Pairwise.t.test(x, g, p.adjust.method=”bonferroni”)
ذهب:
- x: متجه عددي لقيم الاستجابة
- g: متجه يحدد أسماء المجموعات (مثل تقنية الدراسة)
يوضح الكود التالي كيفية استخدام هذه الوظيفة لمثالنا:
#perform pairwise t-tests with Bonferroni's correction pairwise.t.test(data$score, data$technique, p.adjust.method=" bonferroni ") Pairwise comparisons using t tests with pooled SD data: data$score and data$technique tech1 tech2 tech2 0.309 - tech3 0.048 1.000 P value adjustment method: bonferroni
وطريقة تفسير النتيجة هي كما يلي:
- القيمة p المعدلة لمتوسط الفرق في درجات الامتحان بين التقنية 1 والتقنية 2 هي 0.309 .
- القيمة p المعدلة لمتوسط الفرق في درجات الامتحان بين التقنية 1 والتقنية 3 هي 0.048 .
- القيمة الاحتمالية المعدلة لمتوسط الفرق في درجات الامتحان بين التقنية 2 والتقنية 3 هي 1000 .
استنادا إلى النتائج، يمكننا أن نرى أن الفرق الوحيد المهم هو بين التقنية 1 والتقنية 3.
مصادر إضافية
مقدمة إلى تحليل التباين الأحادي (One-Way ANOVA).
كيفية إجراء ANOVA أحادي الاتجاه في R
كيفية إجراء اختبار توكي في R
كيفية إجراء اختبار دونيت في R