Tôi đang cố gắng chuyển từ sử dụng ez
gói sang lme
các biện pháp lặp lại ANOVA (vì tôi hy vọng tôi sẽ có thể sử dụng độ tương phản tùy chỉnh trên lme
).
Theo lời khuyên từ bài đăng trên blog này, tôi đã có thể thiết lập cùng một mô hình bằng cách sử dụng cả hai aov
(như ez
, khi được yêu cầu) và lme
. Tuy nhiên, trong ví dụ được đưa ra trong bài đăng đó, các giá trị F hoàn toàn đồng ý giữa aov
và lme
(tôi đã kiểm tra nó và họ làm như vậy), đây không phải là trường hợp của dữ liệu của tôi. Mặc dù giá trị F tương tự nhau, nhưng chúng không giống nhau.
aov
trả về giá trị f là 1,3399, lme
trả về 1,36264. Tôi sẵn sàng chấp nhận aov
kết quả là "chính xác" vì đây cũng là những gì SPSS trả về (và đây là những gì được tính cho lĩnh vực / giám sát viên của tôi).
Câu hỏi:
Sẽ thật tuyệt nếu ai đó có thể giải thích tại sao sự khác biệt này tồn tại và làm thế nào tôi có thể sử dụng
lme
để cung cấp kết quả đáng tin cậy. (Tôi cũng sẽ sẵn sàng sử dụnglmer
thay vìlme
cho loại công cụ này, nếu nó cho kết quả "chính xác". Tuy nhiên, cho đến nay tôi vẫn chưa sử dụng nó.)Sau khi giải quyết vấn đề này, tôi muốn chạy một phân tích tương phản. Đặc biệt tôi sẽ quan tâm đến sự tương phản của việc gộp hai cấp độ yếu tố đầu tiên (nghĩa là
c("MP", "MT")
) và so sánh điều này với cấp độ yếu tố thứ ba (nghĩa là"AC"
). Hơn nữa, kiểm tra mức thứ ba so với mức thứ tư của yếu tố (nghĩa là"AC"
so với"DA"
).
Dữ liệu:
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))
Và mã:
require(nlme)
summary(aov(value ~ factor+Error(id/factor), data = tau.base))
anova(lme(value ~ factor, data = tau.base, random = ~1|id))
lme
kết quả từ sách giáo khoa tiêu chuẩn ANOVA (được đưa ra bởi aov
, và đó là những gì tôi cần), đây không phải là một lựa chọn cho tôi. Trong bài báo của tôi, tôi muốn báo cáo ANOVA, không phải là ANOVA. Thú vị là Venables & Ripley (2002, p. 285) cho thấy cả hai cách tiếp cận đều dẫn đến ước tính giống hệt nhau. Nhưng sự khác biệt về giá trị F để lại cho tôi cảm giác tồi tệ. Hơn nữa, Anova()
(từ car
) chỉ trả về giá trị Chi² cho lme
các đối tượng. Vì vậy, đối với tôi, câu hỏi đầu tiên của tôi chưa được trả lời.
lme
; nhưng đối với sự tương phản, glht
hoạt động trên lm
phù hợp quá, không chỉ lme
phù hợp. (Ngoài ra, lme
kết quả cũng là kết quả của sách giáo khoa tiêu chuẩn.)
lm
cho một phân tích đo lặp đi lặp lại. Chỉ aov
có thể xử lý các biện pháp lặp đi lặp lại nhưng sẽ trả về một đối tượng của lớp aovlist
mà không may không được xử lý glht
.
lm
sử dụng lỗi dư làm thuật ngữ lỗi cho tất cả các hiệu ứng; khi có các hiệu ứng nên sử dụng một thuật ngữ lỗi khác, aov
là cần thiết (hoặc thay vào đó, sử dụng các kết quả từ lm
để tính toán các chỉ số F theo cách thủ công). Trong ví dụ của bạn, thuật ngữ lỗi cho factor
là id:factor
tương tác, là thuật ngữ lỗi còn lại trong mô hình phụ gia. So sánh kết quả của bạn với anova(lm(value~factor+id))
.