2017-01-04 4 views
1

私は、1つのオンラインサイトの各セッションごとにデータを設定しています。次のクリックは、Markovチェーン&確率。Clickstreamパッケージを使用してRのマルコフ連鎖の実装に "predict"メソッドを使用中にエラーが発生しました

Following is the my Code: 

library(clickstream); 
cls2<-readClickstreams(file.choose(),sep = ',',header = TRUE); 
mc2<-fitMarkovChain(clickstreamList = cls2,order = 2,control = list(optimizer= "linear")); 
pattern <- new("Pattern", sequence = c("/clsisGre/PersonalDetailForm.jsp","/clsisGre/PersonalDetail.jsp"),           absorbingProbabilities = data.frame(NULL = 0.9, Success = 0.1)); 
> resultPattern <- predict(mc2, startPattern = pattern, dist = 1); 

Error Message is : 

Error in if (nextState %in% [email protected]) { : 
    argument is of length zero 
In addition: Warning message: 
In max(cp, na.rm = T) : no non-missing arguments to max; returning -Inf 

このエラー/例外を処理するにはヘルプが必要です。 ありがとうございます。

+1

再現可能な例はありますか? –

答えて

1

ご迷惑をおかけしますが、この問題を解決することができますので、他のユーザーにとって参考になる同じソリューションを投稿しています。 私はMarkov chain.Belowコードをビルドしたいと思っているシーケンス入力は、上記のエラーを処理するのに役立ちます(a、b、c、d、e、f、g、h、l、m) 。

pattern <- new("Pattern", sequence = c(a,b,c,d,e,f,g,h,l,m), 
        absorbingProbabilities = data.frame(NULL = 0.9, Success = 0.1)); 
    possibleError <- tryCatch(
     suppressWarnings(predict(mc2, startPattern = pattern, dist = 1)), 
     error=function(e) e 
    ); 

    if(inherits(possibleError, "error")) next 
    resultPattern <- predict(mc2, startPattern = pattern, dist = 1); 

    aa<-attributes(resultPattern)$absorbingProbabilities; 
    success_mat10[i,2]<-aa$Success; 
    success_mat10[i,1]<-as.vector(url_mat10[i,1]); 
関連する問題