我想在glmer
包中对大型数据集(250,000个观察点)运行lme4
过程。该模型需要超过15分钟才能在笔记本电脑上运行。我们正在使用基于Ubuntu的Rstudio服务器。问题是这台服务器上有8个内核,但是当我运行glmer
程序时,只有1个正在使用,并且需要1个多小时才能得到结果......我怎样才能解决这个问题提高时间效率?我在谷歌上发现我可能不得不使用parallel
程序,但我对这些信息学程序并不熟悉,它们看起来非常复杂......任何人都可以通过一个简单的程序来解决这个问题吗? / p>
我知道他们已经就这个话题提出了问题,但那是7年前(R package that automatically uses several cores?)或3年前(How can I make R use more CPU and memory?)。我知道R包和程序正在发展,我希望得到你对这个主题的更新的帮助(希望是一个简单易用的解决方案)。
答案 0 :(得分:1)
以下内容会有所帮助吗?
library(parallel)
f <- function(i) {
lmer(Petal.Width ~ . - Species + (1 | Species), data = iris)
}
cls <- makeCluster(detectCores())
clusterEvalQ(cls, library(lme4))
mod <- parLapply(cls, 1, f)
stopCluster(cls)