0

我想在一个大型数据集(250,000 个观察值)上运行包中的glmer过程。lme4该模型在笔记本电脑上运行需要 15 分钟以上。我们正在使用基于 Ubuntu 的 Rstudio 服务器。问题是这台服务器上有 8 个内核可用,但是当我运行glmer程序时,只有 1 个内核被使用,并且需要 1 多个小时才能得到结果......我该如何解决这个问题并提高时间效率?我在 google 上发现我可能必须使用该parallel程序,但我对这些信息学程序一点也不熟悉,而且它们对我来说看起来很复杂……有人可以帮忙用一个简单的程序来解决这个问题吗?

我知道他们已经对这个主题提出了问题,但那是 7 年前(自动使用多个内核的 R 包?)或 3 年前(如何让 R 使用更多的 CPU 和内存?)。我知道 R 包和程序正在不断发展,我希望你能帮助我更新这个主题(希望是一个简单明了的解决方案)。

4

1 回答 1

1

something like the following would help?

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)
于 2018-01-29T23:45:50.307 回答