R调查问卷中的多核论点

时间:2018-10-19 00:37:59

标签: r parallel-processing survey

当尝试在R的multicore = TRUE包中使用survey参数时,出现以下错误:

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软件包已更新以反映此更改(请参见修订版3.29-5),但是我不确定此问题是否或可能涉及该问题。

我还尝试使用以下代码安装和加载过时的multicore,但这确实可以解决问题。

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)

1 个答案:

答案 0 :(得分:2)

multicore =选项仅适用于复制权重设计和svyby(),因为它们是唯一允许多核支持的粗粒度并行性的分析。