2017-06-14 75 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