2017-06-14 1 views
1

Rでは、iter関数を使用してイテレータを作成しました。そして私はLoopの値を取得したいと思います。Rのitereratorオブジェクトからforループの値を取得する方法は?

>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 
関連する問題