尝试在 R 的 survey
包中使用 multicore = TRUE
参数时,出现以下错误:
Error in glm.control(multicore = TRUE) :
unused argument (multicore = TRUE)
复制示例代码:
library(tidyverse)
library(survey)
mtcars %<>%
mutate(weights = 1) %>%
mutate(id = ceiling(row_number()/2)) %>%
mutate(strata = ceiling(row_number()/4))
design <- svydesign(id =~ id, weights =~ weights, strata =~ strata,
data = mtcars)
model <- svyglm(design = design, mpg ~ drat + wt + qsec,
multicore=TRUE)
mutlicore
确实在 svyglm
的文档中作为可能的参数出现。 This thread表明这个参数可能不适用于 Windows,但我在 Unix 系统上运行它。
我知道 multicore
软件包已被弃用,取而代之的是 parallel
,并且文档 here建议 survey
包已更新以反射(reflect)此更改(请参阅修订版 3.29-5),但我不确定是否或如何涉及此问题。
我还尝试使用以下代码安装和加载过时的多核
,但这确实解决了问题。
url <- "https://cran.r-project.org/src/contrib/Archive/multicore/multicore_0.2.tar.gz"
pkgFile <- "multicore_0.2.tar.gz"
download.file(url, destfile = pkgFile)
install.packages(pkgs = pkgFile, type="source", repos=NULL)
library(multicore)
最佳答案
multicore= 选项仅针对复制权重设计和 svyby() 实现,因为它们是唯一允许多核支持的粗粒度并行性的分析。
关于r - R 调查包中的多核参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52884382/