Tôi có loại dữ liệu sau đây. Tôi đã đánh giá 10 cá nhân mỗi lần lặp lại 10 lần. Tôi có ma trận quan hệ 10x10 (mối quan hệ giữa tất cả các kết hợp của các cá nhân).
set.seed(1234)
mydata <- data.frame (gen = factor(rep(1:10, each = 10)),
repl = factor(rep(1:10, 10)),
yld = rnorm(10, 5, 0.5))
Gen này là các giống cây khác nhau, vì vậy mỗi loại có thể được trồng lặp lại và năng suất được đo. Ma trận hiệp phương sai là thước đo liên quan bằng độ tương tự di truyền được tính bằng xác suất ibd trong các thí nghiệm riêng biệt.
library(lme4)
covmat <- round(nearPD(matrix(runif(100, 0, 0.2), nrow = 10))$mat, 2)
diag(covmat) <- diag(covmat)/10+1
rownames(covmat) <- colnames(covmat) <- levels(mydata$gen)
> covmat
10 x 10 Matrix of class "dgeMatrix"
1 2 3 4 5 6 7 8 9 10
1 1.00 0.08 0.06 0.03 0.09 0.09 0.10 0.08 0.07 0.10
2 0.08 1.00 0.08 0.09 0.04 0.12 0.08 0.08 0.11 0.09
3 0.06 0.08 1.00 0.10 0.05 0.09 0.09 0.07 0.04 0.13
4 0.03 0.09 0.10 1.00 0.02 0.11 0.09 0.06 0.04 0.12
5 0.09 0.04 0.05 0.02 1.00 0.06 0.07 0.05 0.02 0.08
6 0.09 0.12 0.09 0.11 0.06 1.00 0.12 0.08 0.07 0.14
7 0.10 0.08 0.09 0.09 0.07 0.12 1.00 0.08 0.03 0.15
8 0.08 0.08 0.07 0.06 0.05 0.08 0.08 1.00 0.06 0.09
9 0.07 0.11 0.04 0.04 0.02 0.07 0.03 0.06 1.00 0.03
10 0.10 0.09 0.13 0.12 0.08 0.14 0.15 0.09 0.03 1.00
Mô hình của tôi là:
yld = gen + repl + error
cả gen và repl đều được coi là ngẫu nhiên và tôi muốn có được ước tính hiệu ứng ngẫu nhiên liên quan đến từng gen, tuy nhiên tôi cần xem xét ma trận mối quan hệ.
Nếu nó quá phức tạp để phù hợp với các mô hình lồng nhau, tôi sẽ chỉ loại bỏ thay thế khỏi mô hình, nhưng lý tưởng nhất là tôi sẽ giữ nó.
yld = gen + error
Làm thế nào tôi có thể đạt được điều này bằng cách sử dụng các gói R, có lẽ với nlme hoặc lme4? Tôi biết rằng ASREML có thể làm điều đó nhưng tôi không nắm giữ và tôi yêu R vì sự mạnh mẽ cũng như miễn phí.