在试图得到K-R自由度的经验分布时遇到了这个问题...
这看起来是相当危险的行为吗?它是否构成了一个bug?
可重现的例子:
## import lmerTest package
library(lmerTest)
## an object of class merModLmerTest
m <- lmer(Informed.liking ~ Gender+Information+Product +(1|Consumer), data=ham)
# simulate data from fitted model
simData=ham
simData$Informed.liking=unlist(simulate(m))
# fit model to simulated data
m1 <- lmer(Informed.liking ~ Gender+Information+Product +(1|Consumer), data=simData)
stats:::anova(m1)
lmerTest:::anova(m1)
# simulate again, WITHOUT refitting
simData$Informed.liking=unlist(simulate(m))
stats:::anova(m1) # same as before
lmerTest:::anova(m1) # not same as before!发布于 2017-08-30 08:39:29
我的回答并不是一个可靠的答案,而是一个延伸的评论:
这看起来相当糟糕--事实上,我今天发现,由于lmerTest的相关行为,我在一个即将提交的项目中进行的几乎所有分析都必须重做。
我遇到的问题是,当我使用一个简短的函数,该函数适合一个带有lmer的模型,然后返回coef(summary(model)) -简单的东西,两行代码。但是,此函数的输入名为data,并且我在工作区中还有一个名为data的数据帧。似乎在使用lmer拟合期间,虽然正确使用了函数作用域中的局部变量,但在summary期间使用了工作区data变量(通常与传递给函数的数据帧不同),从而导致无效的t值和自由度,从而导致错误的p值(但是,估计值及其标准误差是可以的)。
所以,在回答你的问题时:
这看起来是相当危险的行为吗?它是否构成了一个bug?
这看起来确实很危险,我可以肯定地说这是一个bug。
https://stackoverflow.com/questions/42805643
复制相似问题