2016-03-31 11 views
0

とRリピートのループ中:継承機能は逆私はこのようなコード持っエラー

のために働いていませんが

iit = 0 

while(1) 
{ 
SIGMABf=replicate(10, rnorm(10)) 
iit=iit+1 
if(inherits(solve(SIGMABf), "error")){iit=iit-1;next} 
if (iit==10) {break} 
} 

は、エラーをキャッチし、リピートする方法はありますか?

+0

あなたのコードに間違いはありません。 –

答えて

0

try機能はこちらです。 inherits以上を使用してclassを操作して、操作が失敗したかどうかを確認できます。

a <- try(solve(1)) 
class(a) 
# matrix 
b <- try(solve(0)) 
class(b) 
# try-error 

この特定のケースでは、あなたはより良い行列が非sigularがあるかどうかを確認するためにdetを使用することができます。 det(A) != 0の場合、Aは可逆です。

関連する問題