2017-06-14 55 views
1

在R中,我使用iter函数创建了一个迭代器。我想获得Loop中的值。如何从R中的itererator对象获取循环中的值?

>library("iterators") 
> Vector_val = c(0,-2,3,1,5,6,-2,0) 
> series = iter(Vector_val) 
> for (i in series){ 
> print (i) 
> } 

我可以使用“nextElem(系列)”命令来获得单值,但我expcted输出是这样

0 
-2 
3 
1 
5 
6 
-2 
0 

我正在寻找解决方案由于提前进行。

+0

有没有你不遍历载体本身的原因吗? – Val

+0

它没有问题,我的数据是在阵列。即使我改变向量到迭代器也不会工作 – Ruth

+0

基于代码,它是一个“向量” – akrun

回答

2

我们可以sapply

sapply(Vector_val, function(x) nextElem(iter(x))) 
#[1] 0 -2 3 1 5 6 -2 0 

做到这一点或者,如果我们只需要print

for(v in Vector_val) print(nextElem(iter(v))) 
#[1] 0 
#[1] -2 
#[1] 3 
#[1] 1 
#[1] 5 
#[1] 6 
#[1] -2 
#[1] 0