1

5 つの状態を持つ確率行列のシミュレーションを実行しようとしています。

N<-10 #for 10 simulations
state<-simulat(P,N,1) #P is a matrix defined earlier in my code

for(i in 1:N)
    {
        if (state[i]=='0')
        {
            time[i]<-rexp(1,Mu)
        }
        if (state[i]=='1' || state[i]=='2' || state[i]=='3')
        {
            time[i]<-rexp(1,(Mu+Lamda))
        }
        if (state[i]=='4')
        {
            time[i]<-rexp(1,Lamda)
        }
    }
Error in time[i] <- rexp(1, Mu) : 
  object of type 'closure' is not subsettable

これは書式設定の問題ですか、それとも状態 [i] の定義が間違っていますか? [] を () に切り替えようとしましたが、上で定義したばかりなのに、関数の「状態」が見つからないというエラーが表示されます。どんな助けでも大歓迎です。

4

1 に答える 1

1

私のコメントに加えて、ここに別の解決策があります:

tiempo <- ifelse(state == '0', rexp(N,Mu), 
                 ifelse(state == '4', rexp(N,Lambda), rexp(N, Mu+Lambda)))

ループを回避すると、実行時間が短縮される可能性があります。

于 2013-03-15T20:51:12.427 に答える