如何bootstrap混合模型的R平方?

How to bootstrap R-squared of a mixed model?

我正在尝试为混合效应模型获取 bootstrapped R^2。由于已经只有一种解决方法来获得条件和边际 R^2,我尝试根据 statmethods 为 bootstrapping 单个统计数据给出的示例来 bootstrap 这些统计数据。代码有效,但偏差和标准误差始终为零。

library(lme4)
library(boot)
data(Dyestuff, package = "lme4")
model <- lmer(Yield ~ 1|Batch, data=Dyestuff)
summary(model)
r.squaredGLMM(model)

rsq <- function(formula, data, indices) {
  d <- data[indices,] 
  model.fit <- lmer(Yield ~ 1|Batch, data=Dyestuff)
  fit.r.squared <- r.squaredGLMM(model.fit)
  return(summary(fit.r.squared[,2]))
}

set.seed(101)
results <- boot(data=Dyestuff, statistic=rsq,
                R=1000, formula=Yield ~ 1|Batch)

results


Bootstrap Statistics :
     original  bias    std. error
t1* 0.4184874       0           0
t2* 0.4184874       0           0
t3* 0.4184874       0           0
t4* 0.4184874       0           0
t5* 0.4184874       0           0
t6* 0.4184874       0           0

当我 bootstrap 一个模型时,条件和边际 R^2 不应该也改变吗?还有其他方法可以获得 bootstrapped 条件和边际 R^2 吗?

rsq <- function(formula, data, indices) {
  d <- data[indices,] 
  model.fit <- lmer(Yield ~ 1|Batch, data = d)
  fit.r.squared <- r.squaredGLMM(model.fit)
  return(fit.r.squared[,2])
}