【问题标题】:multicore argument in R's survey packageR 的调查包中的多核参数
【发布时间】:2018-10-19 00:37:59
【问题描述】:

尝试在 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 包已更新以反映此更改(请参阅修订版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)

【问题讨论】:

  • 嗨,仔细查看?svyglm ..当您的设计是svyrep.design(复制加权)设计类时,它允许multicore= 选项。 survey.design(线性化)设计似乎没有实现它

标签: r parallel-processing survey


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 2015-06-20
    • 2014-12-14
    • 2014-11-28
    • 2021-10-24
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多