Các biện pháp lặp lại ANOVA với lme / lmer trong R cho hai yếu tố bên trong chủ đề


19

Tôi đang cố gắng sử dụng lmetừ nlmegói để sao chép kết quả từ aovcác biện pháp lặp lại ANOVAs. Tôi đã thực hiện điều này cho một thử nghiệm đo lường lặp lại một yếu tố và cho thử nghiệm hai yếu tố với một yếu tố giữa các đối tượng và một yếu tố bên trong đối tượng, nhưng tôi gặp khó khăn khi thực hiện thử nghiệm hai yếu tố với hai yếu tố bên trong -subjects yếu tố.

Một ví dụ đã được biểu diễn ở dưới. ABlà các yếu tố hiệu ứng cố định và subjectlà một yếu tố hiệu ứng ngẫu nhiên.

set.seed(1)
d <- data.frame(
    Y = rnorm(48),
    subject = factor(rep(1:12, 4)),
    A = factor(rep(1:2, each=24)),
    B = factor(rep(rep(1:2, each=12), 2)))

summary(aov(Y ~ A*B + Error(subject/(A*B)), data=d))  # Standard repeated measures ANOVA

library(nlme)
# Attempts:
anova(lme(Y ~ A*B, data=d, random = ~ 1 | subject))  # not same as above
anova(lme(Y ~ A*B, data=d, random = ~ 1 | subject/(A+B)))  # gives error

Tôi không thể thấy một lời giải thích về điều này trong cuốn sách Pinheiro và Bates, nhưng tôi có thể đã bỏ qua nó.

Câu trả lời:


15

Những gì bạn phù hợp aovđược gọi là cốt truyện dải và thật khó để phù hợp với lmevì các hiệu ứng ngẫu nhiên subject:Asubject:Bđược giao nhau.

Nỗ lực đầu tiên của bạn tương đương với aov(Y ~ A*B + Error(subject), data=d), không bao gồm tất cả các hiệu ứng ngẫu nhiên; nỗ lực thứ hai của bạn là ý tưởng đúng, nhưng cú pháp cho các hiệu ứng ngẫu nhiên chéo sử dụng lme là rất khó.

Sử dụng lmetừ nlmegói, mã sẽ là

lme(Y ~ A*B, random=list(subject=pdBlocked(list(~1, pdIdent(~A-1), pdIdent(~B-1)))), data=d)

Sử dụng lmertừ lme4gói, mã sẽ giống như

lmer(Y ~ A*B + (1|subject) + (1|A:subject) + (1|B:subject), data=d)    

Các chuỗi từ R-help có thể hữu ích (và để cung cấp tín dụng, đó là nơi tôi đã nhận được nlmemã từ đó).

http://www.biostat.wustl.edu/archives/html/s-news/2005-01/msg00091.html

http://permalink.gmane.org/gmane.comp.lang.r.lme4.devel/3328

http://www.mail-archive.com/r-help@stat.math.ethz.ch/msg10843.html

Liên kết cuối cùng này đề cập đến p.165 của Pinheiro / Bates; điều đó cũng có thể hữu ích

EDIT: Cũng lưu ý rằng trong tập dữ liệu bạn có, một số thành phần phương sai là âm, không được phép sử dụng các hiệu ứng ngẫu nhiên với lme, vì vậy kết quả khác nhau. Một bộ dữ liệu với tất cả các thành phần phương sai dương có thể được tạo bằng cách sử dụng hạt giống 8. Kết quả sau đó đồng ý. Xem câu trả lời này để biết chi tiết.

Cũng lưu ý rằng lmetừ nlmekhông tính toán mức độ tự do của mẫu số một cách chính xác, do đó, thống kê F đồng ý nhưng không phải là giá trị p và lmertừ lme4đó cũng không thử vì nó rất khó khăn khi có các hiệu ứng ngẫu nhiên chéo không cân bằng, và có thể không thậm chí là một điều hợp lý để làm. Nhưng đó là nhiều hơn tôi muốn vào đây.


Aaron, tôi không nghĩ rằng mã lmer của bạn là chính xác. Cuộc aovgọi OP chỉ đơn giản là một thiết kế đo lường lặp lại tiêu chuẩn, mà người ta sẽ phân tích với mức độ nhẹ hơn lmer(Y~A*B+(1|subject)). (Mặc dù cũng thấy câu trả lời này cho các mô hình phức tạp hơn mà cho phép ước lượng trên-Ss hiệu lực thi hành đúng và tương quan: stats.stackexchange.com/questions/13166/rs-lmer-cheat-sheet/... )
Mike Lawrence

4
Cuộc gọi aov của OP có ba hiệu ứng ngẫu nhiên; để nhân rộng điều đó với lmermã trên của tôi là chính xác. lmerMã của bạn chỉ có một hiệu ứng ngẫu nhiên. Cái nào đúng sẽ phụ thuộc vào ngữ cảnh.
Aaron - Tái lập Monica

Cũng lưu ý rằng câu trả lời bạn liên kết đến không có bất kỳ ví dụ nào về các hiệu ứng ngẫu nhiên chéo.
Aaron - Tái lập Monica

6

Nỗ lực đầu tiên của bạn là câu trả lời chính xác nếu đó là tất cả những gì bạn đang cố gắng thực hiện. nlme () tìm ra giữa và trong các thành phần, bạn không cần chỉ định chúng.

Vấn đề bạn gặp phải không phải vì bạn không biết cách chỉ định mô hình, bởi vì các biện pháp lặp lại ANOVA và các hiệu ứng hỗn hợp không giống nhau. Đôi khi kết quả từ mô hình ANOVA và hiệu ứng hỗn hợp sẽ khớp. Điều này đặc biệt xảy ra khi bạn tổng hợp dữ liệu của mình giống như bạn làm cho ANOVA và tính cả hai từ đó. Nhưng nhìn chung, khi được thực hiện chính xác, trong khi các kết luận có thể giống nhau thì kết quả gần như không bao giờ giống nhau. Dữ liệu mẫu của bạn không giống như các biện pháp lặp lại thực tế trong đó bạn thường có các bản sao của từng biện pháp trong S. Khi bạn thực hiện ANOVA, bạn thường tổng hợp qua các bản sao đó để có ước tính về hiệu ứng cho từng đối tượng. Trong mô hình hiệu ứng hỗn hợp, bạn không làm điều đó. Bạn làm việc với dữ liệu thô. Khi bạn làm điều đó bạn '

[như một bên, sử dụng lmer () (từ gói lme4) thay vì lme () cung cấp cho tôi các giá trị SS và MS khớp chính xác với ANOVA cho các hiệu ứng trong ví dụ của bạn, chỉ là các F khác nhau]


1
Tôi tin rằng nếu mọi thứ được cân bằng kết quả bằng mô hình hỗn hợp (nghĩa là lấy ước tính bằng ML hoặc REML) và kết quả sử dụng ANOVA (nghĩa là lấy ước tính bằng khoảnh khắc) sẽ gần như giống hệt nhau. Vấn đề trong trường hợp này là cú pháp để có cùng một mô hình phù hợp bằng cả hai phương thức.
Aaron - Tái lập Monica

Tôi không chắc chắn những gì bạn đang cố gắng thực hiện. Có vẻ như bạn chỉ đang cố gắng học cách tái tạo kết quả để hiểu rõ hơn về mối quan hệ. Những gì bạn muốn làm không thể được thực hiện với nlme. Tôi chỉ nhìn vào lmer và nó cũng không thể ở đó (mặc dù ít nhất nó báo cáo MS cho các hiệu ứng của bạn giống hệt với ANOVA). Nếu bạn muốn kết quả ANOVA, chỉ cần thực hiện ANOVA. Với dữ liệu thực, được thực hiện chính xác, cả hai gần như không bao giờ giống hệt nhau.
John

1
Cũng lưu ý rằng lần thử đầu tiên là không chính xác vì nó không giải thích đúng cho các hiệu ứng ngẫu nhiên chéo.
Aaron - Tái lập Monica

1
John, cảm ơn bạn đã trả lời. Lý do của tôi để làm điều này là tôi đã đọc ở đâu đó trên trang web này rằng các biện pháp lặp lại ANOVA thường không được khuyến nghị nữa, với các mô hình hiệu ứng hỗn hợp được ưa thích. Vì một số lý do, tôi đã có ấn tượng rằng hai phương pháp sẽ cho kết quả giống nhau cho một thiết kế cân bằng và tôi đã cố gắng xác nhận điều này.
đánh dấu vào

Aaron, tôi đã coi đó là câu trả lời chính xác cho những gì sẽ được coi là tương đương. Đó thường là những gì được đề xuất là bước đầu tiên trong việc nhân rộng các biện pháp lặp đi lặp lại. Không có "chính xác" như trong trận đấu hoàn hảo. Thêm các hiệu ứng ngẫu nhiên sẽ không giải quyết được vấn đề. Tôi lưu ý rằng một trong những câu trả lời bạn đề cập đến đề xuất giải pháp bạn đã viết. Tuy nhiên, đó hoàn toàn không khác một kết quả ANOVA (mô hình khác nhưng không phải ANOVA) so với những gì tôi nói là chính xác. Tôi nghi ngờ tác giả đã cố gắng khớp với những gì OP yêu cầu nhưng nó không phải là một mô hình hợp lý.
Giăng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.