获取R中迭代器的索引(与foreach并行)

安托万·古洛特(Antoine Guillot)

我正在使用该foreach函数遍历的列data.frame在每次迭代中,我想获取迭代器的索引(即所考虑的列的索引或名称)和列本身。

但是,下面的代码最初看起来没问题,但由于i没有namescolnames属性而无法正常工作

 foreach(i=iter(base[1:N],by='col')) %dopar% c(colnames(i),i)

现在,如果您想知道为什么我不遍历索引,那是因为我正在使用该%dopar%工具,并且我不想将整个基础发送给所有工作人员,而是只需要每个工作人员需要的列。

问题:如何获取迭代器的索引?

谢谢

史蒂夫·韦斯顿

我只需要在foreach循环中指定第二个迭代变量作为计数器:

library(foreach)
library(iterators)

df <- data.frame(a=1:10, b=rnorm(10), c=runif(10))
r <- foreach(d=df, i=icount()) %do% {
    list(d=d, i=i)
}

如果不使用任何参数,则iterators包中的“ icount”函数将返回一个无界计数迭代器,因此无论数据帧中的列数如何,此示例都可以工作。

您还可以将列名称作为第三个迭代变量:

r <- foreach(d=df, i=icount(), nm=colnames(df)) %do% {
    list(d=d, i=i, nm=nm)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从反向迭代器获取向量中的索引

来自分类Dev

在foreach中删除自定义绑定以获取迭代器

来自分类Dev

R Foreach迭代器-Walkforward

来自分类Dev

如何用forEach替换javascript for循环并获取每次迭代的索引?

来自分类Dev

R doParallel foreach中的并行处理

来自分类Dev

R doParallel foreach中的并行处理

来自分类Dev

如何使用foreach在迭代中获取项目?

来自分类Dev

索引到Python迭代器中

来自分类Dev

lua中的并行迭代

来自分类Dev

Matlab中的关系数迭代/并行工作器

来自分类Dev

在scriptlet数组索引中访问struts迭代器的索引值

来自分类Dev

在scriptlet数组索引中访问struts迭代器的索引值

来自分类Dev

D语言的并行迭代器

来自分类Dev

如何在循环中获取当前迭代器项的索引?

来自分类Dev

foreach获取PHP中的数组索引结果

来自分类Dev

在foreach中获取当前索引的名称

来自分类Dev

在 foreach 中获取帖子索引的问题

来自分类Dev

boost :: multi_index_container:从其他索引迭代器中查找索引迭代器

来自分类Dev

R:Foreach并行化

来自分类Dev

向量迭代器的索引

来自分类Dev

使用索引在ForEach循环SwiftUI中获取索引

来自分类Dev

R 中的并行计算(foreach %dopar% 中的 if 语句)

来自分类Dev

迭代文件并从其他文件中获取单词索引

来自分类Dev

R中的doRedis / foreach GBM并行处理错误

来自分类Dev

在Python中迭代索引

来自分类Dev

获取正确的迭代器

来自分类Dev

如何使用量角器+角度获取迭代器索引/键?

来自分类Dev

使用迭代器索引变量

来自分类Dev

在gdb中的字符串中获取迭代器位置