2011-11-14 4 views
-3

内の論理&文は、私は常にエラーを取得していた場合と組み合わせることでエラーを取得は常に私はR.で論理&文で、if文を結合しようとすると、R

私は2つのデータを持っている、fは、データフレームがありますst_devは数値クラスです。

は、私はこれを実行しよう:

for (w in 1:100){ 
if (((f[[w]]>0.02) & ((st_dev[w]-st_dev[w+1])>abs(0.0025)))==1){ 
o[w]<-index(f[w]) 
break}}} 

をしかし、私はエラーメッセージを取得:FALSE/TRUEが

希望を必要な値が欠落し、if文で

エラー誰かが助けることができます。前もって感謝します! :)

+3

再現性がありません... –

+0

...と3つの右中括弧がありますが、残りの2つは左のものだけです。 – joran

+0

if()に与えられたベクトルの最初の要素だけが評価され使用されます。テストケースでコードを投稿してください。 –

答えて

3

これは、fデータに値がないためです。 is.na()を使用してNAsをキャッチしたり、データを繰り返し処理する前にNAsをフィルタリングしてみてください。

NAで値を完全に省略したくないかもしれませんが、これが実際に問題であるかどうかをテストする方法の1つは、f <- na.omit(f)を実行してループを実行することです。それが実行されると、あなたのNAがあなたの問題だったことが分かります。