วิธีดำเนินการ anova แบบซ้อนใน r (ทีละขั้นตอน)
ANOVA แบบซ้อน คือ ANOVA ประเภทหนึ่ง (“การวิเคราะห์ความแปรปรวน”) ซึ่งมีปัจจัยอย่างน้อยหนึ่งตัวที่ ซ้อน อยู่ในอีกปัจจัยหนึ่ง
ตัวอย่างเช่น สมมติว่านักวิจัยต้องการทราบว่าปุ๋ยสามชนิดที่แตกต่างกันทำให้พืชมีระดับการเจริญเติบโตต่างกันหรือไม่
ในการทดสอบนี้ ช่างเทคนิคสามคนต่างก็โรยปุ๋ย A บนต้นสี่ต้น ช่างเทคนิคอีกสามคนโรยปุ๋ย B บนต้นสี่ต้นอย่างละคน และช่างเทคนิคอีกสามคนโรยปุ๋ย C บนต้นสี่ต้นอย่างละต้น
ในสถานการณ์นี้ ตัวแปรการตอบสนอง คือการเจริญเติบโตของพืช และปัจจัยทั้งสองคือช่างเทคนิคและปุ๋ย ปรากฎว่าช่าง อยู่ ในปุ๋ย:
ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีดำเนินการ ANOVA ที่ซ้อนกันใน R
ขั้นตอนที่ 1: สร้างข้อมูล
ขั้นแรก เรามาสร้าง data frame เพื่อเก็บข้อมูลของเราไว้ใน R:
#create data df <- data. frame (growth=c(13, 16, 16, 12, 15, 16, 19, 16, 15, 15, 12, 15, 19, 19, 20, 22, 23, 18, 16, 18, 19, 20, 21, 21, 21, 23, 24, 22, 25, 20, 20, 22, 24, 22, 25, 26), fertilizer=c(rep(c(' A ', ' B ', ' C '), each= 12 )), tech=c(rep(1:9, each= 4 ))) #view first six rows of data head(df) growth fertilizer tech 1 13 A 1 2 16 A 1 3 16 A 1 4 12 A 1 5 15 A 2 6 16 A 2
ขั้นตอนที่ 2: ปรับ ANOVA ที่ซ้อนกัน
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อให้พอดีกับ ANOVA ที่ซ้อนกันใน R:
aov(คำตอบ ~ ปัจจัย A / ปัจจัย B)
ทอง:
- การตอบสนอง: ตัวแปรการตอบสนอง
- ปัจจัย A: ปัจจัยแรก
- ปัจจัย B: ปัจจัยที่สองซ้อนอยู่ในปัจจัยแรก
รหัสต่อไปนี้แสดงวิธีปรับให้พอดีกับ ANOVA ที่ซ้อนกันสำหรับชุดข้อมูลของเรา:
#fit nested ANOVA nest <- aov(df$growth ~ df$fertilizer / factor(df$tech)) #view summary of nested ANOVA summary(nest) Df Sum Sq Mean Sq F value Pr(>F) df$fertilizer 2 372.7 186.33 53.238 4.27e-10 *** df$fertilizer:factor(df$tech) 6 31.8 5.31 1.516 0.211 Residuals 27 94.5 3.50 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ขั้นตอนที่ 3: ตีความผลลัพธ์
เราสามารถดูคอลัมน์ค่า p เพื่อพิจารณาว่าแต่ละปัจจัยมีผลกระทบที่มีนัยสำคัญทางสถิติต่อการเจริญเติบโตของพืชหรือไม่
จากตารางด้านบน เราจะเห็นว่าปุ๋ยมีผลกระทบอย่างมีนัยสำคัญต่อการเจริญเติบโตของพืช (p-value < 0.05) แต่ช่างเทคนิคไม่มี (p-value = 0.211)
นี่บอกเราว่าหากเราต้องการเพิ่มการเจริญเติบโตของพืช เราต้องให้ความสำคัญกับปุ๋ยที่ใช้มากกว่าที่ช่างแต่ละคนจะใส่ปุ๋ย
ขั้นตอนที่ 4: เห็นภาพผลลัพธ์
สุดท้ายนี้ เราสามารถใช้ boxplots เพื่อแสดงภาพการกระจายตัวของการเจริญเติบโตของพืชด้วยปุ๋ยและโดยช่างเทคนิค:
#load ggplot2 data visualization package library (ggplot2) #create boxplots to visualize plant growth ggplot(df, aes (x=factor(tech), y=growth, fill=fertilizer)) + geom_boxplot()
กราฟแสดงให้เห็นว่าการเจริญเติบโตระหว่างปุ๋ยทั้งสามชนิดมีความแตกต่างกันอย่างมีนัยสำคัญ แต่ไม่แตกต่างกันมากนักระหว่างช่างเทคนิคในแต่ละกลุ่มปุ๋ย
สิ่งนี้ดูเหมือนจะตรงกับผลลัพธ์ของ ANOVA ที่ซ้อนกัน และยืนยันว่าปุ๋ยมีผลกระทบอย่างมีนัยสำคัญต่อการเจริญเติบโตของพืช แต่ช่างเทคนิคแต่ละคนไม่เป็นเช่นนั้น
แหล่งข้อมูลเพิ่มเติม
วิธีดำเนินการวิเคราะห์ความแปรปรวนแบบทางเดียวใน R
วิธีดำเนินการวิเคราะห์ความแปรปรวนแบบสองทางใน R
วิธีการวัด ANOVA ซ้ำใน R