我在foreach
R包中使用foreach()
函数进行并行计算。除了这个函数之外,我认为还需要在domc
包中使用registerdomc()
函数。
但是,当我编写描述
文件时,导入
部分包含DOMC(>=1.3.0)和foreach(>=1.4.1)
,但是当我运行代码时,错误指示:无法找到ITER
函数。因此,我还导入
迭代器
包。
似乎仍然存在错误:
mclapply()
函数将由foreach()
使用,并且该函数同时出现在paralle
和multicore
包中。我在imports
部分中包含了这两个包,但是当我运行search()
时,会出现警告:
Warning messages:
1: replacing previous import ‘mclapply’ when loading ‘parallel’
2: replacing previous import ‘mcparallel’ when loading ‘parallel’
3: replacing previous import ‘pvec’ when loading ‘parallel’
这很奇怪:尽管我显式地
导入
迭代器
和多核
的包,但在加载我自己的包后,我仍然不能使用它们的函数······相反,我必须显式运行:
library(iterators)
library(multicore)
为了在我的包中使用我自己的函数,它利用了并行计算。我的包裹书写有什么问题吗?太感谢你们了!
如果通过在“depends”中添加domc
来修改描述文件,那么“不能找到iter函数”错误将消失,并且在加载包时,foreach
、迭代器
和domc
函数将可用,这似乎是您的首选项。编写R扩展的第一章讨论了“imports”和“depends”之间的区别。通常,最好使用“导入”来避免强制您的包的用户加载仅在包中需要的包,但它有用途。
实际上,您看到的“无法找到iter函数”错误是由domc
包中的bug引起的,使用“depends”而不是“imports”可以解决这个bug。您的包应该只需要导入它直接使用的包,因此如果您没有显式调用ITER
或MCLApply
,则不必导入迭代器
、paralle
或multicore
。而且由于paralle
包含了multicore
,因此永远不要同时导入paralle
和multicore
,这将避免出现您看到的警告消息。
我向包维护者提交了domc
bug的修复程序,因此您应该能够在包的下一个版本中将foreach
和domc
导入到包中而不会出错。
本文向大家介绍R使用rio导入数据,包括了R使用rio导入数据的使用技巧和注意事项,需要的朋友参考一下 示例 从许多常见文件格式导入数据的一种非常简单的方法是使用rio。该软件包提供了import()包装许多常用数据导入功能的功能,从而提供了标准接口。只需将文件名或URL传递给即可import(): import()也可以从压缩目录,URL(HTTP或HTTPS)和剪贴板中读取。rio包githu
问题内容: 例: 数组仍保留其原始值,是否可以通过迭代函数对数组元素进行写访问? 问题答案: 回调传递给元素,索引和数组本身。 编辑 -如注释中所述,该函数可以采用第二个参数,该参数将用作每次对回调的调用中的值: 第二个例子说明了自己是在回调中设置的。有人可能认为调用中涉及的数组可能是的 默认 值,但无论出于何种原因,它都不是。会如果没有提供第二个参数。 (注意:如果回调是一个函数,则上述内容不适
本文向大家介绍php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,包括了php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比的使用技巧和注意事项,需要的朋友参考一下 判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决
本文向大家介绍如何在PowerShell foreach并行循环中使用PSCustomObject?,包括了如何在PowerShell foreach并行循环中使用PSCustomObject?的使用技巧和注意事项,需要的朋友参考一下 要在Foreach并行循环内使用PSCustomObject ,我们首先需要考虑如何在循环内使用变量。 因此,让我们看看是否可以在$out变量中存储或更改值。 示例
我需要修改下面的代码,以使用循环与常规foreach循环。 我遇到的问题是将对象传递给foreach循环。我刚开始使用循环-有没有人对此有一些信息? 当前代码 问题是列表将包含3000+项,循环将循环每一项,我需要并行地运行它们。 因此,我想使用函数,但我无法通过传递对象来使其工作。