我想在一个大型数据集(250,000个观测值)上运行lme4
包中的glmer
过程。该模型在笔记本电脑上运行需要15分钟以上。我们使用的是基于Ubuntu的Rstudio服务器。问题是这台服务器上有8个核心可用,但当我运行glmer
过程时,只使用了其中的1个,并且需要超过1个小时才能获得结果……我如何才能解决这个问题并提高时间效率?我在谷歌上发现我可能不得不使用parallel
程序,但我对这些信息学程序一点也不熟悉,对我来说它们看起来非常复杂……有没有人可以用一个简单的程序来解决这个问题?
我知道它们已经是关于这个话题的问题了,但那是7年前(R package that automatically uses several cores?)或3年前(How can I make R use more CPU and memory?)。我知道R包和过程正在发展,我希望您能帮助我更新这个主题(希望是一个简单、简单的解决方案)。
发布于 2018-01-30 07:45:50
下面的内容会有帮助吗?
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)
https://stackoverflow.com/questions/48315268
复制相似问题