2016-12-01 14 views
-1

私はStataとeViewsをいつか使っていて、知識やRが非常に限られているので、助けが必要です。私は2010年から2016年の株式のファマフランスモデルを推計しているので、株式ごとに回帰を実行する必要があります。各回帰は、独立変数として超過リターン(ereturn)を、次にMKTRF、HML、およびSMBを従属変数とします。株式コードはpermnoという変数に格納されます。私がここで尋ねた質問のほとんどは、さまざまな変数を使って回帰をループすることについての質問でしたが、私のケースでは、変数は変わりませんでしたが、観察します。係数と各回帰のR2値を保存する必要があります。私は誰かが助けることを願っています。異なる観察をしたRの回帰回帰

+1

私はあなたが持っている問題を理解していません。あなたの質問は何ですか? – WillardSolutions

+0

私は明確にしようとします。サンプル全体に対して1回の回帰をする方法を知っていますが、私はストックごとに1つずつ回帰する必要があります。回帰方程式は同じです:eReturn = c + b1 * MKTRF + b2 * HML + b3 * SMB。ループを作成し、ループ内から回帰を実行して結果を保存するにはどうすればよいですか?おかげで –

答えて

0

変数をベースにして、 "permno"でグループ分けされた観測の回帰を実行したいと思いますか?ここであなたができることがあります。

# Create list of subsets 
dfList = split(df, permno) 

split()機能は、permnoが要因であると仮定すると、あなたのグループによる「DF」は「permno」を分割します。 lapplyを使用して、各サブセットに対して同じモデルを実行します。

regSummaryList = lapply(dfList, function(x) { 
    lm(eReturn ~ MLTRF + HML + SMB, data = x) 
}) 

これは、各回帰の回帰オブジェクトのリストを返します。その後、次で、係数及びR広場を抽出することができます:R2はR2のベクトルとなり、一方、

coefList = lapply(regSummaryList, coef) 
R2 = sapply(regSummaryList, function(x) summary(x)$r.squared) 

coefListは、係数のリストになります。

+0

ありがとうございました。 –