Saya mencoba menjalankan tindakan berulang Anova di R diikuti oleh beberapa kontras khusus pada dataset itu. Saya pikir pendekatan yang benar akan digunakan
Anova()
dari paket mobil.
Mari kita ilustrasikan pertanyaan saya dengan contoh yang diambil dari ?Anova
menggunakan
OBrienKaiser
data (Catatan: Saya menghilangkan faktor gender dari contoh):
Kami memiliki desain dengan satu antara faktor subjek, pengobatan (3 tingkat: kontrol, A, B), dan 2 diulang -Mengukur faktor (dalam mata pelajaran), fase (3 level: pretest, posttest, followup) dan jam (5 level: 1 hingga 5).
Tabel ANOVA standar diberikan oleh (berbeda dengan contoh (Anova) saya beralih ke Tipe 3 Jumlah Kuadrat, itulah yang diinginkan bidang saya):
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)
Sekarang, bayangkan interaksi urutan tertinggi akan menjadi signifikan (yang tidak terjadi) dan kami ingin mengeksplorasi lebih lanjut dengan kontras berikut:
Apakah ada perbedaan antara jam 1 & 2 versus jam 3 (kontras 1) dan antara jam 1 & 2 versus jam 4 & 5 (kontras 2) dalam kondisi perawatan (A&B bersama)?
Dengan kata lain, bagaimana cara menentukan kontras ini:
((treatment %in% c("A", "B")) & (hour %in% 1:2))
melawan((treatment %in% c("A", "B")) & (hour %in% 3))
((treatment %in% c("A", "B")) & (hour %in% 1:2))
melawan((treatment %in% c("A", "B")) & (hour %in% 4:5))
Ide saya adalah menjalankan ANOVA lain dengan kondisi perawatan yang tidak diperlukan (kontrol):
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)
Namun, saya masih tidak tahu bagaimana mengatur matriks kontras dalam-subjek yang sesuai membandingkan jam 1 & 2 dengan 3 dan 1 & 2 dengan 4 & 5. Dan saya tidak yakin apakah menghilangkan kelompok pengobatan yang tidak dibutuhkan memang ide yang baik karena mengubah keseluruhan istilah kesalahan.
Sebelum pergi untuk Anova()
saya juga berpikir untuk pergi lme
. Namun, ada perbedaan kecil dalam nilai F dan p antara buku teks ANOVA dan apa yang dikembalikan anove(lme)
karena kemungkinan variasi negatif dalam ANOVA standar (yang tidak diizinkan masuklme
). Terkait, seseorang menunjuk saya ke gls
yang memungkinkan untuk mengukur ANOVA tindakan yang berulang, namun, tidak memiliki argumen kontras.
Untuk memperjelas: Saya ingin uji F atau t (menggunakan jumlah kuadrat tipe III) yang menjawab apakah kontras yang diinginkan signifikan atau tidak.
Memperbarui:
Saya sudah mengajukan pertanyaan yang sangat mirip pada R-help, tidak ada jawaban .
Pertanyaan serupa diajukan pada R-help beberapa waktu lalu. Namun, jawabannya juga tidak menyelesaikan masalah.
Pembaruan (2015):
Karena pertanyaan ini masih menghasilkan beberapa kegiatan, menentukan tesis dan pada dasarnya semua kontras lainnya sekarang dapat dilakukan relatif mudah dengan afex
paket dalam kombinasi dengan lsmeans
paket seperti yang dijelaskan dalam sketsa afex .
treatment
, 3) untuk rata-rata setiap orang di atas levelprePostFup
, 4) untuk rata-rata setiap orang lebih dari jam 1,2 (= kelompok data 1) serta lebih dari jam 3,4 (= kelompok data 2), 5) jalankan uji-t untuk 2 kelompok dependen. Karena Maxwell & Delaney (2004) dan juga Kirk (1995) mencegah melakukan kontras dengan istilah kesalahan yang dikumpulkan dalam desain, ini bisa menjadi alternatif sederhana.