Saya mencoba untuk beralih dari menggunakan ez
paket ke lme
untuk tindakan berulang ANOVA (karena saya berharap saya akan dapat menggunakan kontras kustom dengan lme
).
Mengikuti saran dari posting blog ini saya dapat mengatur model yang sama menggunakan keduanya aov
(seperti halnya ez
, ketika diminta) dan lme
. Namun, sedangkan dalam contoh yang diberikan dalam posting itu nilai- F sangat setuju antara aov
dan lme
(saya memeriksanya, dan mereka melakukannya), ini bukan kasus untuk data saya. Meskipun nilai- F serupa, mereka tidak sama.
aov
mengembalikan nilai-f dari 1,3399, lme
mengembalikan 1,36264. Saya bersedia menerima aov
hasilnya sebagai yang "benar" karena ini juga yang dikembalikan SPSS (dan inilah yang diperhitungkan untuk bidang / pengawas saya).
Pertanyaan:
Alangkah baiknya jika seseorang bisa menjelaskan mengapa perbedaan ini ada dan bagaimana saya bisa gunakan
lme
untuk memberikan hasil yang kredibel. (Saya juga akan bersedia menggunakanlmer
alih-alihlme
untuk jenis barang ini, jika memberikan hasil yang "benar". Namun, saya belum menggunakannya sejauh ini.)Setelah menyelesaikan masalah ini, saya ingin menjalankan analisis kontras. Terutama saya akan tertarik pada kontras menggabungkan dua tingkat faktor pertama (yaitu,
c("MP", "MT")
) dan membandingkannya dengan faktor tingkat ketiga (yaitu,"AC"
). Selanjutnya, menguji tingkat faktor ketiga versus keempat (yaitu,"AC"
versus"DA"
).
Data:
tau.base <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L,
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L,
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L), .Label = c("A18K",
"D21C", "F25E", "G25D", "H05M", "H07A", "H08H", "H25C", "H28E",
"H30D", "J10G", "J22J", "K20U", "M09M", "P20E", "P26G", "P28G",
"R03C", "U21S", "W08A", "W15V", "W18R"), class = "factor"), factor = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("MP", "MT", "AC", "DA"
), class = "factor"), value = c(0.9648092876, 0.2128662077, 1,
0.0607615485, 0.9912814024, 3.22e-08, 0.8073856412, 0.1465590332,
0.9981672618, 1, 1, 1, 0.9794401938, 0.6102546108, 0.428651501,
1, 0.1710644881, 1, 0.7639763913, 1, 0.5298989196, 1, 1, 0.7162733447,
0.7871177434, 1, 1, 1, 0.8560509327, 0.3096989662, 1, 8.51e-08,
0.3278862311, 0.0953598576, 1, 1.38e-08, 1.07e-08, 0.545290432,
0.1305621416, 2.61e-08, 1, 0.9834051136, 0.8044114935, 0.7938839461,
0.9910112678, 2.58e-08, 0.5762677121, 0.4750002288, 1e-08, 0.8584252623,
1, 1, 0.6020385797, 8.51e-08, 0.7964935271, 0.2238374288, 0.263377904,
1, 1.07e-08, 0.3160751898, 5.8e-08, 0.3460325565, 0.6842217296,
1.01e-08, 0.9438301877, 0.5578367224, 2.18e-08, 1, 0.9161424562,
0.2924856039, 1e-08, 0.8672987992, 0.9266688748, 0.8356425464,
0.9988463913, 0.2960361777, 0.0285680426, 0.0969063841, 0.6947998266,
0.0138254805, 1, 0.3494775301, 1, 2.61e-08, 1.52e-08, 0.5393467752,
1, 0.9069223275)), .Names = c("id", "factor", "value"), class = "data.frame", row.names = c(1L,
6L, 10L, 13L, 16L, 17L, 18L, 22L, 23L, 24L, 27L, 29L, 31L, 33L,
42L, 43L, 44L, 45L, 54L, 56L, 58L, 61L, 64L, 69L, 73L, 76L, 79L,
80L, 81L, 85L, 86L, 87L, 90L, 92L, 94L, 96L, 105L, 106L, 107L,
108L, 117L, 119L, 121L, 124L, 127L, 132L, 136L, 139L, 142L, 143L,
144L, 148L, 149L, 150L, 153L, 155L, 157L, 159L, 168L, 169L, 170L,
171L, 180L, 182L, 184L, 187L, 190L, 195L, 199L, 202L, 205L, 206L,
207L, 211L, 212L, 213L, 216L, 218L, 220L, 222L, 231L, 232L, 233L,
234L, 243L, 245L, 247L, 250L))
Dan kodenya:
require(nlme)
summary(aov(value ~ factor+Error(id/factor), data = tau.base))
anova(lme(value ~ factor, data = tau.base, random = ~1|id))
lme
hasil dari buku teks standar ANOVA (diberikan oleh aov
, dan yang saya butuhkan), ini bukan pilihan bagi saya. Dalam makalah saya, saya ingin melaporkan ANOVA, bukan sesuatu seperti ANOVA. Menariknya Venables & Ripley (2002, p. 285) menunjukkan bahwa kedua pendekatan mengarah pada perkiraan yang identik. Tetapi perbedaan nilai-nilai F membuat saya merasa tidak enak. Lebih jauh, Anova()
(dari car
) hanya mengembalikan nilai Chi² untuk lme
objek. Karena itu bagi saya, pertanyaan pertama saya belum dijawab.
lme
; tetapi untuk kontras, glht
bekerja pada lm
cocok juga, bukan hanya lme
cocok. (Juga, lme
hasilnya adalah hasil buku teks standar juga.)
lm
untuk analisis ukuran berulang. Hanya aov
dapat menangani tindakan berulang tetapi akan mengembalikan objek kelas aovlist
yang sayangnya tidak ditangani oleh glht
.
lm
menggunakan kesalahan residual sebagai istilah kesalahan untuk semua efek; ketika ada efek yang harus menggunakan istilah kesalahan yang berbeda, aov
diperlukan (atau sebaliknya, menggunakan hasil dari lm
untuk menghitung F-statistik secara manual). Dalam contoh Anda, istilah kesalahan untuk factor
adalah id:factor
interaksi, yang merupakan istilah kesalahan residual dalam model aditif. Bandingkan hasil Anda dengan anova(lm(value~factor+id))
.