保存 foreach dopar 循环的多个输出

2023-11-27

我想知道是否/如何可以返回多个输出作为foreach dopar loop.

让我们举一个非常简单的例子。假设我想做 2 项操作作为foreach循环,并希望返回或保存每个值的两个操作的结果i.

如果只返回一个输出,则很简单:

library(foreach)
library(doParallel)
cl <- makeCluster(3)
registerDoParallel(cl)

oper1 <- foreach(i=1:100000) %dopar% {
    i+2
}

oper1将是一个包含 100000 个元素的列表,每个元素都是操作的结果i+2对于 i 的每个值。

假设现在我想分别返回或保存两个不同操作的结果,例如i+2 and i+3。我尝试了以下方法:

oper1 = list()
oper2 <- foreach(i=1:100000) %dopar% {
    oper1[[i]] = i+2
    return(i+3)
}

希望结果i+2将被保存在列表中oper1,第二次运算的结果i+3将被返回foreach。但是,列表中没有填充任何内容oper1!在这种情况下,只有结果i+3从循环中返回。

有没有办法将两个输出返回或保存在两个单独的列表中?


不要尝试对 foreach 或任何其他并行程序包使用副作用。相反,返回列表中 foreach 循环体的所有值。如果您希望最终结果是两个列表的列表而不是 100,000 个列表的列表,请指定一个转置结果的组合函数:

comb <- function(x, ...) {
  lapply(seq_along(x),
    function(i) c(x[[i]], lapply(list(...), function(y) y[[i]])))
}

oper <- foreach(i=1:10, .combine='comb', .multicombine=TRUE,
                .init=list(list(), list())) %dopar% {
  list(i+2, i+3)
}

oper1 <- oper[[1]]
oper2 <- oper[[2]]

请注意,此组合功能需要使用.init设置值的参数x第一次调用组合函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保存 foreach dopar 循环的多个输出 的相关文章

  • R 中 nlme 包中的 gls 函数出错

    我不断收到这样的错误 Error in coef lt corARMA tmp value c 18 3113452983211 1 56626248550284 Coefficient matrix not invertible 或者像这
  • ess-rdired:我收到此错误“现在没有 ESS 进程与此缓冲区关联”

    To use ess rdired为了浏览对象 我按照 ESS 手册并将以下内容添加到我的 emacs autoload ess rdired ess rdired View R objects in a dired like buffer
  • tidyverse 干扰 ggplot2 吗?无法访问map_data

    在控制台中运行这些命令 输出为 gt cty0 ggplot2 map data county gt library tidyverse Loading tidyverse ggplot2 Loading tidyverse tibble
  • 如何更改 r 中的树状图标签

    我在 R 中有一个树形图 它基于使用 hclust 的分层聚类 我正在对不同颜色的标签进行着色 但是当我尝试使用以下命令更改树图的标签 集群所基于的数据帧的行 时dendrogram dendrogram gt set labels dat
  • 在 R 中安全地计算算术表达式?

    Edit 好吧 由于似乎有很多混乱 我将稍微简化一下问题 您可以尝试回答下面的原始问题 或者您可以解决此版本并忽略该行下面的所有内容 我的目标是采用任意表达式并在极其受限的环境中对其进行评估 该环境将仅包含具有以下类型值的变量 数值向量 接
  • mlogit:需要 TRUE/FALSE 时缺少值

    我有来自离散选择实验 DCE 的数据 该实验研究了来自不同行业的个人的招聘偏好 我已经格式化为长格式 我想使用 mlogit 进行建模 我已导出数据 并且可以使用 asclogit 命令在 Stata 中成功运行模型 但在 R 中运行时遇到
  • 从受密码保护的站点读取信息

    我一直在 R 教程中使用 readLines 从网站上抓取信息 我现在希望从我自己的网站提取数据 特别是 awstats 数据 但是该域受密码保护 有没有一种方法可以通过用户名和密码传递我需要的特定 awstats 数据的 url url
  • C++ 并行任务的开销

    我有以下简单的功能 include
  • 使用神经网络包进行多项分类

    这个问题应该很简单 但文档没有帮助 我正在使用 R 我必须使用neuralnet多项式分类问题的包 所有示例均针对二项式或线性输出 我可以使用二项式输出进行一些一对一的实现 但我相信我应该能够通过使用 3 个单元作为输出层来做到这一点 其中
  • 使用faceting()时如何连接geom_point()和geom_line?

    我有一个问题 但我在互联网上没有找到任何相关信息 我很高兴得到一些提示 我有一个数据集 其中 x 轴是离散的 但我想将这些点相互连接 我可以做到 我的问题是当我添加分面选项时 我无法再将这些点相互链接起来 我找到了一个替代方案 但看起来不太
  • 按组复制数据框

    我有以下数据框 df structure list Group c 1 1 1 1 2 2 2 2 2 2 3 3 3 index c 1 2 3 4 1 2 3 4 5 6 1 2 3 row names c NA 13L class c
  • 使用 R SOAP (SSOAP) 检索数据/抓取

    在 B cycle 页面 www bcycle com whowantsitmore aspx 上 我试图抓取投票的位置和值 The URL http mapservices bcycle com bcycleservice asmx ht
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 构造奎因(自我复制功能)

    有没有人构建过 quine 生成自己源文本的副本作为其完整输出的程序 http www nyx net gthompso quine htm http www nyx net gthompso quine htm 在 R 中 quine 标
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • 使用 data.table 左连接

    假设我有两个数据表 s dataA A B 1 1 12 2 2 13 3 3 14 4 4 15 dataB A B 1 2 13 2 3 14 我有以下代码 merge test merge dataA dataB by A all d
  • 如何在闪亮的observeEvent中监听多个事件表达式

    我想要两个不同的事件触发观察者 有人建议here https stackoverflow com questions 34731975 how to listen for more than one event expression wit
  • SparkR 和 Sparklyr 之间导入 parquet 文件所需的时间差异

    我正在使用 databricks 导入镶木地板文件SparkR and sparklyr data1 SparkR read df dbfs data202007 source parquet header TRUE inferSchema

随机推荐

  • 让你自己的班级具有“可比性”

    我遵循了教程 但未能成功Country class Comparable for my BST Main BinarySearchTree A new BinarySearchTree Country a new Country Roman
  • 通过curl命令在Keycloak上创建用户

    目前 我尝试通过 Keycloak 的 Admin REST API 从curl 命令创建用户 我可以将自己验证为管理员 我有一个很好的答案 但是当我想创建用户时 出现类似以下错误 404 未找到 这是我的curl命令 bin bash e
  • HTTP/2 和文件下载

    我们提供文件托管解决方案 我们的客户是最终用户 他们通过 HTTP 1 1 协议访问我们的服务器并下载文件 这些客户端基本上是软件系统或 CDN 它们使用软件库下载我们的文件 没有人类用户访问我们的系统 我们还提供使用 HTTP 1 1 范
  • 自动递增sql-server中的非身份列

    我们有非Identity Column在我们的数据库中有一个特定的值 我们有一个要求如下 每当有记录时insert在该列中 值应加一 如何处理这个问题sql server 谢谢您的帮助 嗯 你可以使用SEQUENCESQL Server 2
  • 从 IE8 中的 OBJECT 标记调用 .Net 程序集

    我有一个调用 Net 程序集的网页 在 Windows XP 和 IE7 中一切正常 相关部分
  • R - lubridate - 将周期转换为数字计数月份

    考虑以下内容 library lubridate period1 weeks 2 as numeric period1 weeks gt 2 as expected 现在我正在尝试对月份做类似的事情 period2 months 6 as
  • 如何在数据库中实现超类、子类关系?

    如果我有一个名为动物的类 那么狗和鱼就是子类 动物有一种属性 叫做 颜色 狗有一个叫做 尾巴长度 的属性 而鱼没有这个属性 鱼有一个属性叫 体重 狗没有这个属性 所以 我想设计一个数据库来存储这些信息 我应该怎么办 这里有一些想法 想法一
  • Spark 将列组合为嵌套数组

    如何将 Spark 中的列组合为嵌套数组 val inputSmall Seq A 0 3 B 0 25 A 0 3 g 0 4 d 0 0 f 0 1 d 0 0 d 0 7 A 0 3 d 0 7 d 0 0 g 0 4 c 0 2 B
  • 提示下载位置而不是直接下载

    我正在 JavaScript 中创建一个 CSV 元素 然后模拟单击以下载相应的文件 但我不想直接下载 而是希望它打开下载提示来选择要下载的文件的位置 var csvString Papa unparse result quotes fal
  • javac 生成的名称中的 $$ 是什么意思?

    当浏览 DependencyFinder 和 java callgraph 等库生成的 java 调用图时 我发现 java 编译器生成匿名函数 内部类等的名称 我已经找到了其中几个的含义 如果我错了 请纠正 org example Bar
  • 如果没有 return 语句,javascript 函数会返回什么?

    我只是想知道 没有 return 语句 或没有命中任何 return 语句 的函数是否返回一个完全等于 false 的值 例如 function foo foo 如果在 firebug 中执行 这应该返回 false 但如果我只是调用 fo
  • 如何获取mysql表的外键

    我正在创建一个类 它从数据库中获取一个表 并将其显示到网页上 并具有尽可能多的功能 我想要支持的一件事是让类检测表中的哪些列具有外键约束 以便它可以转到这些表 获取它们的所有值并在选择中使用它们 box 当您编辑这些字段时调用 以避免有人违
  • Angular 6:如何构建一个简单的多个复选框以供用户选中/取消选中?

    我在阅读了有关该主题的几个帖子后写了这篇文章 但没有一个帖子能给我我所需要的东西 这个帖子似乎有解决方案 但我不必从 json 中读取检查的值 我所需要的只是 从对象数组中读取国家 地区 动态构建代表每个国家 地区的复选框列表 用户应该选中
  • 使用日期时间时 MySQL GROUP BY 日期

    在 MySQL 中 假设我有一个表 其中有一个名为 actionTime 的列 声明为 日期时间 YYYY MM DD HH MM SS 有没有一种简单的方法来使用 GROUP BY actionTime 但只使用 日期时间 的 日期 部分
  • 尝试在 Laravel 5 中使用电子邮件

    好吧 首先我要说的是 我对 Laravel 5 还很陌生 我一直在 google 上搜索 试图通过输入适当的 URL 来发送一封简单的电子邮件 但没有成功 不幸的是 我发现的文档并没有那么有帮助 只是提供了一个广泛的外观 我知道 larav
  • 如何从java程序执行“javac和java命令”?

    有没有办法从java程序执行 javac和java命令 如果是这样 请帮帮我 Like Runtime getRuntime exec javac
  • 如何使用 azure 服务总线 5.0.0 在 C# azure 函数中手动处理消息完成

    我正在编写一个 Azure 函数来获取 Azure 服务总线中的消息 我想手动处理任何异常 autoCompleteMessages false 无法弄清楚如何将完整或放弃发送回服务队列 尝试过选项1 FunctionName SBQ F1
  • EntityDeploySplit 错误 - Microsoft.Data.Entity.Build.Tasks.dll 丢失

    彻底重新格式化 Windows 并安装 Visual Studio 2013 后 尝试使用数据库优先的实体框架 edmx 文件构建项目会产生以下错误 无法从程序集中加载 EntityDeploySplit 任务 C 程序文件 x86 MSB
  • Haskell 有限场线性代数库

    我正在寻找 Haskell 的有限场线性代数库 就像是FFLAS FFPACK对于 Haskell 来说会很棒 当然 我检查过hmatrix 似乎有一些支持任意矩阵元素类型但我找不到任何与 hmatrix 一起使用的有限域库 当然 我会很感
  • 保存 foreach dopar 循环的多个输出

    我想知道是否 如何可以返回多个输出作为foreach dopar loop 让我们举一个非常简单的例子 假设我想做 2 项操作作为foreach循环 并希望返回或保存每个值的两个操作的结果i 如果只返回一个输出 则很简单 library f