R ranef(model,condVar)属性为NULL,但postVar显示结果+已弃用警告

时间:2016-08-24 14:18:42

标签: r lme4

我发现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它就不会工作) 任何意见将不胜感激, 谢谢!

1 个答案:

答案 0 :(得分:0)

这无疑令人困惑。 参数已更改为condVar,但属性名称仍为postVar ...

attr(ranef(model, condVar=TRUE)[[1]], "postVar")