r - 当 FOR 循环包含 seq 时,foreach 不起作用
问题描述
我正在尝试并行处理模拟,我的函数有一个 for 循环,其顺序显示开始、结束和增量。当我将 FOR in 转换为 foreach 时,我看到一个语法错误。下面是一个简化的示例。感谢并行处理此代码的任何输入。
fn_foreach <- function(){
for(i in seq(0.01,0.1,0.01)) #i range 0.01-0.1 increments by 0.01
{
# print(paste("t =", i))
dots <- sqrt(i)}
return(dots)
}
x2 <- fn_foreach()
解决方案
这似乎是一种误解foreach
。foreach
是foreach
软件包提供的实用程序。
library(foreach)
library(parallel)
cl <- makeCluster(2)
library(doParallel)
registerDoParallel(cl)
foreach(i = seq(0.01, 0.1, 0.01)) %dopar% {
sqrt(i)
}
stopCluster(cl)
推荐阅读
- r - 在数据集上运行 factanal 时,R 中的“系统完全是奇异的”错误
- node.js - 在打字稿中扩展 express.Request
- ios - CoreData • 如何使用Swift 5 修改CoreData 中的多对多关系?
- django - 如何在 Django 视图中实现 PUT 方法
- opengl - 无法使用 glsl 实现圆角点
- python - 美丽汤4 | 对于 BS4 初学者来说,从没有 ID 的表中快速、简单地收集文本信息的最简单方法是什么?
- git - Git checkout 未将分支从 repo 获取到 Mac 机器中的本地文件夹
- javascript - SectionList 组件没有滚动到 Accordion 组件内的末尾
- java - Java SAX 解析 XML 文件
- nginx - Nginx 作为 DoT 网关:不将 DNS-UDP 查询路由到 DNS-over-TLS 服务器