0

plyr 関数を使用して回帰を効率的に組み合わせることを望んでいます。複数年の月次データを含むデータ フレームを形式yDDDD(so y2014y2013など)で持っています。

現在、これらの dfs の 1 つに対して以下のコードがありますy2014。毎年、必要に応じて、月ごとに回帰を実行しています。

modelsm2= by(y2014,y2014$Date,function(x) lm(y~,data=x))
summarym2=lapply(modelsm2,summary)
coefficientsm2=lapply(modelsm2,coef)
coefsm2v2=ldply(modelsm2,coef) #to get the coefficients into an exportable df

やりたいことがいくつかありますので、よろしくお願いします!

A. r^2for each モデルを抽出します。1つのモデルについては、summary(model)$r.squaredそれを取得するためにできることは知っていますが、私の構成ではうまくいきませんでした.

B. ループ型構造に同じ方法論を適用して、モデルをすべてのデータ フレーム (y2013および逆方向)に対して実行します。

C. 要約を (Excel に) 簡単にエクスポートできる形式に変換する -->ldply関数は要約に対して機能しません。

再度、感謝します。

4

1 に答える 1

0

r.squaredA.集計から値をサブセット化する必要があります。

lapply(summarym2,"[[","r.squared")

B. すべてのデータをリストに入れ、lapplyその周りに別のデータを置きます。例:

lapply(list(y2014,y2013,y2012), function(dat)
                                   by(dat,dat$Date, function(x) lm(y~.,data=x))
      )

次に、リストのリストがあるため、たとえば要約を抽出するには、次を使用します。

lapply(lmlist,lapply,summary)

C. summarydata.frame に強制できないかなり複雑なデータ構造を返します。表示される結果は、printメソッドの結果です。capture.outputファイルへの書き込みに使用できる出力の各行の文字ベクトルを取得するために使用できます。

于 2014-07-02T16:26:15.150 に答える