r - 如何使用 lmeresampler 从嵌套随机效应模型中获取系数的 p 值
问题描述
lmer
我使用包的命令估计了一个具有嵌套随机效应结构(参与者在不同的组中)的混合效应模型lme4
。然后,由于嵌套结构,
mixed.model <- lmer(ln.v ~ treatment*level+age+income+(1 | group/participant),data=data)
我从包中引导bootstrap
命令。lmeresampler
我使用了半参数引导程序。 我可以通过(package )
boot.mixed.model <- bootstrap(model = mixed.model, type = "cgr", fn = extractor, B = 10000, resample=c(data$group,data$participant))
获得自举置信区间,但另外我想报告系数的 p 值。自举模型的输出仅提供偏差和标准误差: boot.ci
boot
boot.mixed.model
Bootstrap Statistics :
original bias std. error
t1* 0.658442415 -7.060056e-02 2.34685668
t2* -0.452128438 -2.755208e-03 0.17041300
…
根据这些值计算 p 值的最佳方法是什么?
解决方案
我不知道名为 的包,并且由于兼容性问题(Cran 检查失败)lmeresampler
,它似乎已被删除。cran
此外,该问题不包含数据extractor
且未定义,因此该示例不可重现。bootMer
但是,输出与使用 so 生成的函数lme4
和使用内置函数的示例获得的输出相同。
基本上这遵循help(bootMer)
页面中的示例,但针对特定问题进行了扩展。如果lmeresampler
包返回的对象是相似的,它将包含使用的对象。
可重现的例子
library(lme4)
data(Dyestuff, package = "lme4")
fm01ML <- lmer(Yield ~ 1|Batch, Dyestuff, REML = FALSE)
现在该bootMer
函数只需要一个函数,该函数输出一个有趣参数的向量。
StatFun <- function(merMod){
pars <- getME(merMod, c("fixef", "theta", "sigma"))
c(beta = pars$fixef, theta = unname(pars$theta * pars$sigma), sigma = pars$sigma) ### <<== Error corrected
}
我们可以使用 来执行我们的引导bootMer
,它还包含参数选项type
(我建议阅读help(bootMer)
页面中的详细信息以获取更多信息)
boo01 <- bootMer(fm01ML, StatFun, nsim = 100, seed = 101)
现在对于更精确的 p 值,我建议 p 值更接近 1000,但由于时间原因,它可能并非在所有情况下都可行。
无论输出存储在矩阵t
中,我们都可以使用它来执行简单的 Kolmogorov-supremum 测试:
H0 <- c(0, 0, 0)
Test <- sweep(abs(boo01$t), 2, H0, "-") <= H0 ###<<=== Error corrected
pVals <- colSums(Test)/nrow(Test)
print(pVals)
#output#
beta.(Intercept) theta sigma
0.00 0.12 0.00
推荐阅读
- angular - Not able to access method from parent to child in angular 6
- java - 如何更改路径以使其在 java 中同时适用于 Windows 和 Linux?
- reactjs - 如何在带有多边形路径的 react-google-maps 中使用 file.json
- python-2.7 - 无法在 try-except odoo10 的除外循环中创建记录
- mysql - 从 MySQL 查询导出 CSV 时将 outfile FILE_PATH 作为参数传递
- android - android - 如何在没有 viewModel 类的情况下使用 liveData
- php - 如何在 htaccess 中处理分页
- c - 在 C 中运行 DDA 画线算法时出错
- ios - 如何将 [JSON] 转换为数据格式(编码),以便我可以将它与我的模型绑定
- asynchronous - 如何让处理器在 Mule 的入站端点中异步工作?