我发现lmer(lme4版本1.1.12)模型适合尝试提取随机效果属性(条件方差)的奇怪行为。
使用拟南芥数据集:
#Model maybe makes no sense and fits horribly, but that doesn't matter for my point
model <- lmer(total.fruits ~ nutrient * gen + (nutrient + gen | reg), data=Arabidopsis)
# Get conditional variances with postVar generates output + warning
attr(ranef(model, postVar=T)[[1]], "postVar")
, , 1
[,1] [,2] [,3]
[1,] 45.263 -3.37843 -1.57356
[2,] -3.378 0.70041 0.01081
[3,] -1.574 0.01081 0.08008
, , 2
[,1] [,2] [,3]
[1,] 98.09 -1.519936 -4.790450
[2,] -1.52 0.314335 0.005048
[3,] -4.79 0.005048 0.250406
, , 3
[,1] [,2] [,3]
[1,] 19.1829 -1.8417121 -0.5693759
[2,] -1.8417 0.4106308 -0.0009613
[3,] -0.5694 -0.0009613 0.0301338
Warning message:
In ranef.merMod(model, postVar = T) :
‘postVar’ is deprecated: please use ‘condVar’ instead
但是,使用condVar:
#Input
attr(ranef(model, condVar=T)[[1]], "condVar")
#Output
NULL
我发现在使用另一个数据集时,我得到完全相同的行为(postVar工作,但发出警告,condVar什么都不做)。
我现在坚持使用postVar并忽略警告,但我想知道我是否遗漏了这个,或者它是一个错误,或者我做错了什么? (我发现这个尝试用ggplot创建一个qqplot,如果我不使用postCond它就不会工作) 任何意见将不胜感激, 谢谢!
答案 0 :(得分:0)
这无疑令人困惑。 参数已更改为condVar
,但属性名称仍为postVar
...
attr(ranef(model, condVar=TRUE)[[1]], "postVar")