многоядерный аргумент в пакете опроса R - PullRequest
0 голосов
/ 19 октября 2018

При попытке использовать аргумент multicore = TRUE в пакете R 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. Этот поток указывает, что этот аргумент может не работать в Windows, но я запускаю его в системе Unix.

Я знаю, что пакет multicore устарел в пользу parallel, и документация здесь предполагает, что пакет 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 голосов
/ 27 октября 2018

Опция multicore = реализована только для проектов с одинаковым весом и для svyby (), потому что они являются единственными анализами, которые допускают вид грубого параллелизма, который поддерживает многоядерный.

...