Ich habe folgende Art von Daten. Ich habe 10 Personen bewertet, die jeweils 10 Mal wiederholt wurden. Ich habe eine 10x10 Beziehungsmatrix (Beziehung zwischen allen Kombinationen der Individuen).
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))
Bei diesem Gen handelt es sich um verschiedene Pflanzensorten, so dass jede wiederholt angebaut werden kann und der Ertrag gemessen wird. Die Kovarianzmatrix ist ein Maß für die Verwandtschaft durch genetische Ähnlichkeit, berechnet durch ibd-Wahrscheinlichkeiten in separaten Experimenten.
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
Mein Modell ist:
yld = gen + repl + error
Sowohl gen als auch repl werden als zufällig betrachtet und ich möchte die zufälligen Effektschätzungen erhalten, die jedem Gen zugeordnet sind, jedoch muss ich die Beziehungsmatrix berücksichtigen.
Wenn es zu komplex ist, um verschachtelte Modelle anzupassen, würde ich repl einfach aus dem Modell entfernen, aber im Idealfall werde ich es behalten.
yld = gen + error
Wie kann ich dies mit R-Paketen erreichen, vielleicht mit nlme oder lme4? Ich weiß, dass ASREML das kann, aber ich habe keinen Halt und ich liebe R, weil es sowohl robust als auch frei ist.