ฉันพยายามเรียกใช้มาตรการ Anova ใน R ซ้ำแล้วตามด้วยความแตกต่างเฉพาะบนชุดข้อมูลนั้น ฉันคิดว่าวิธีที่ถูกต้องน่าจะใช้
Anova()
จากแพ็คเกจรถ
ช่วยให้แสดงคำถามของฉันพร้อมตัวอย่างที่นำมาจากการ?Anova
ใช้
OBrienKaiser
ข้อมูล (หมายเหตุ: ฉันสรุปปัจจัยทางเพศจากตัวอย่าง):
เรามีการออกแบบที่มีปัจจัยหนึ่งระหว่างวิชาการรักษา (3 ระดับ: การควบคุม A, B) และซ้ำ 2 - วัด (ภายในวิชา) ปัจจัยระยะ (3 ระดับ: แบบทดสอบก่อนเรียนหลังการติดตาม) และชั่วโมง (5 ระดับ: 1 ถึง 5)
ตาราง ANOVA มาตรฐานมอบให้โดย (แตกต่างจากตัวอย่าง (Anova) ฉันเปลี่ยนเป็น Type 3 Sums of Squares นั่นคือสิ่งที่สาขาของฉันต้องการ):
require(car)
phase <- factor(rep(c("pretest", "posttest", "followup"), c(5, 5, 5)),
levels=c("pretest", "posttest", "followup"))
hour <- ordered(rep(1:5, 3))
idata <- data.frame(phase, hour)
mod.ok <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser)
av.ok <- Anova(mod.ok, idata=idata, idesign=~phase*hour, type = 3)
summary(av.ok, multivariate=FALSE)
ทีนี้ลองนึกภาพว่าการโต้ตอบคำสั่งซื้อสูงสุดจะมีความสำคัญ (ซึ่งไม่ใช่ในกรณีนี้) และเราต้องการสำรวจต่อไปด้วยความแตกต่างต่อไปนี้:
มีความแตกต่างระหว่างชั่วโมง 1 และ 2 กับชั่วโมง 3 (ตรงกันข้าม 1) และระหว่างชั่วโมง 1 & 2 เมื่อเทียบกับชั่วโมง 4 และ 5 (ตรงกันข้าม 2) ในเงื่อนไขการรักษา (A&B ด้วยกัน)?
กล่าวอีกนัยหนึ่งฉันจะระบุความแตกต่างเหล่านี้ได้อย่างไร:
((treatment %in% c("A", "B")) & (hour %in% 1:2))
กับ((treatment %in% c("A", "B")) & (hour %in% 3))
((treatment %in% c("A", "B")) & (hour %in% 1:2))
กับ((treatment %in% c("A", "B")) & (hour %in% 4:5))
ความคิดของฉันคือการใช้ ANOVA อีกอันหนึ่งเพื่อรักษาสภาพที่ไม่จำเป็น (การควบคุม):
mod2 <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser, subset = treatment != "control")
av2 <- Anova(mod2, idata=idata, idesign=~phase*hour, type = 3)
summary(av2, multivariate=FALSE)
อย่างไรก็ตามฉันยังไม่ทราบวิธีตั้งค่าเมทริกซ์คอนทราสต์ภายในเรื่องที่เหมาะสมเปรียบเทียบชั่วโมงที่ 1 และ 2 กับ 3 และ 1 และ 2 กับ 4 และ 5 และฉันไม่แน่ใจว่าการไม่รักษากลุ่มที่ไม่ต้องการนั้นเป็นความคิดที่ดีหรือไม่เพราะมันเป็นการเปลี่ยนคำผิดทั้งหมด
ก่อนที่จะให้ฉันยังคิดที่จะให้Anova()
lme
อย่างไรก็ตามมีความแตกต่างเล็กน้อยในค่า F และ p ระหว่างตำรา ANOVA และสิ่งที่ส่งคืนจากanove(lme)
เนื่องจากความแปรปรวนเชิงลบที่เป็นไปได้ใน ANOVA มาตรฐาน (ซึ่งไม่ได้รับอนุญาตในlme
) มีใครบางคนชี้ให้ฉันเห็นว่าgls
มาตรการ ANOVA ที่เหมาะสมได้ทำซ้ำแล้วซ้ำอีกอย่างไรก็ตามไม่มีข้อโต้แย้งที่ขัดแย้งกัน
ในการชี้แจง: ฉันต้องการการทดสอบแบบ F หรือ t (โดยใช้ผลบวกสแควร์สแควร์ III) ซึ่งตอบว่าว่าความแตกต่างที่ต้องการนั้นมีความสำคัญหรือไม่
ปรับปรุง:
ฉันแล้วถามคำถามที่คล้ายกันมากใน R-ความช่วยเหลือไม่มีคำตอบ
คำถามที่คล้ายกันถูกวางไว้บน R- ช่วยบางเวลาที่ผ่านมา อย่างไรก็ตามคำตอบยังไม่สามารถแก้ปัญหาได้
อัปเดต (2015):
เมื่อคำถามนี้ยังคงสร้างกิจกรรมการระบุวิทยานิพนธ์และโดยทั่วไปความแตกต่างอื่น ๆ สามารถทำได้ค่อนข้างง่ายเมื่อใช้ร่วมกับafex
แพ็คเกจรวมกับlsmeans
แพ็คเกจตามที่อธิบายไว้ในบทความสุดท้าย
treatment
3) สำหรับแต่ละคนโดยเฉลี่ยมากกว่าระดับprePostFup
4) สำหรับแต่ละคนโดยเฉลี่ยมากกว่าชั่วโมง 1,2 (= กลุ่มข้อมูล 1) รวมถึงชั่วโมงกว่า 3,4 (= กลุ่มข้อมูล 2), 5) รันการทดสอบ t สำหรับกลุ่มที่ขึ้นกับ 2 กลุ่ม เนื่องจาก Maxwell & Delaney (2004) และ Kirk (1995) ไม่สนับสนุนการทำข้อขัดแย้งกับคำว่าข้อผิดพลาดพูในการออกแบบภายในนี่อาจเป็นทางเลือกที่ง่าย