-2

データに分布フィッティング分析を実行しています。5 つの異なる分布を試していますが、それぞれの結果を配列または行列に格納したいと考えています。だから私は fitdistrplus パッケージの fitdist 関数を使用していますが、すべてうまくいきますが、各結果を保存する方法がわかりません。これは初心者の質問ですが、何度かグーグル検索しましたが、有用な結果は得られませんでした。

現在のコード:

for loop
    .....
    params = fitdist( data, dist,method="mle")
    print( params )
    summary( params ) 
    plot( params )

だから私は次のようなものが必要です:

for loop
    .....
    params = fitdist( data, dist,method="mle")
    result1[i]<-print( params ) #Can I save a print (graphics)?
    result2[i]<-summary( params ) 
    result3[i]<-plot( params )

助けてくれてありがとう。

4

2 に答える 2

2

(「データ」と「距離」をどのように表しているかの例を提供する必要があります。)

R は、まだ存在しないresutl1[i]<-場合、ループ内で自動的に受け入れないため、結果項目を事前に定義する必要があります。result1これは、'data' と 'distr' が の適切なタイプのリストまたはベクトルであると想定していますfitdistr。への引数で、"[" (または組み合わせ) の代わりに "[[" を使用する必要がある場合がありますfitdistr

result1<-result2<-result3<-list()
for (i in seq_along(data) ) 
   {
    params = fitdist( data[i], dist[i], method="mle")
    result1[i]<-print( params )
     #Can I save a print (graphics)?
     # You can save lattice and ggplot2 graphics as list objects but I think `fitdistr`
     # may use base graphics which cannot be saved unless you use a file graphics device
    result2[i]<-summary( params ) 
    result3[i]<-plot( params )
   }

「[[」はリスト内の実際の値を抽出するのresults[[i]]ではなく、を使用して結果オブジェクトにアクセスしますが、1 つの要素を持つサブリストが得られます。必要に応じて後で適用できる「params」オブジェクトだけを保存する方が良い場合があります(よりコンパクトで最終的にはより柔軟です)。results[i]results[i]summary()print()

于 2012-08-22T18:09:32.007 に答える
0

最初に使うだけresult1[i]<-matrix()

于 2012-08-22T18:08:50.227 に答える