Я пытаюсь найти стандартную ошибку (SE) для значения BLUP случайного эффекта в функции lmer. Я попытался получить ошибку SE прогнозируемого значения путем усреднения по имени инбреда, а затем найти SE среднего значения для каждого инбреда. Есть ли способ извлечь SE для значений BLUP. Я разместил свой код ниже того, что у меня есть, и последний фрейм данных - это то, к чему я пытаюсь добраться.
library(lme4)
df<-data.frame(inbred=c("x1","x2","x3","x4","x5","x1","x2","x3","x4","x5","x1","x2","x3","x4","x5","x1","x2","x3","x4","x5",
"x1","x2","x3","x4","x5","x1","x2","x3","x4","x5","x1","x2","x3","x4","x5","x1","x2","x3","x4","x5"),
trait1=rnorm(40,0,1),
rep=c(1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2),
block=c(rep(1,20),rep(2,20)))
df
Я использую функцию lmer для запуска модели, чтобы я мог извлечь некоторые отклонения.
df.reml<-lmer(trait1 ~ block + (1|inbred) + (1|inbred:rep),
data=df, REML=T)
df.lme=summary(df.reml)
df.ran = ranef(df.reml)$inbred
df.ran
Здесь я нашел значения BLUP для блоков inbred over с некоторыми репликациями внутри блоков.
Затем я опубликовал столбец SE для BLUP. Здесь я бы хотел, чтобы R извлекал их из модели или что-то еще ... В столбце с изменяемым значением есть столбец ...
SE.Blup<-data.frame(inbred=c("x1","x2","x3","x4","x5"),SE.blups=c(.23,.2,.3,.1,.32))
cbind(SE.Blup$inbred,data.frame(df.ran$`(Intercept)`),SE.Blup$SE.blups)
SE.Blup$inbred df.ran...Intercept.. **SE.Blup$SE.blups**
1 x1 -7.094560e-08 **0.23**
2 x2 1.321873e-07 **0.20**
3 x3 -6.094754e-09 **0.30**
4 x4 -8.614915e-08 **0.10**
5 x5 3.100222e-08 **0.32**