2016-12-01 4 views
-1

나는 Stata와 eViews를 사용하고 있으며, 지식이나 R이 매우 제한되어있어 도움이 필요한 것입니다. 저는 2010 년부터 2016 년까지 Fama French 모델을 추정하고 있습니다. 따라서 각 주식에 대한 회귀 분석을 실행해야합니다. 각 회귀 변수에는 종속 변수로 초과 수익 (ereturn)이 있고 독립 변수로 MKTRF, HML 및 SMB가 있습니다. 주식 코드는 permno라는 변수에 저장됩니다. 제가 여기에서 물어 본 대부분의 질문은 회귀 변수를 다른 변수로 반복하는 것에 관한 것이지만 제 경우에는 변수가 변경되지 않지만 관찰은 않습니다. 각 회귀에 대한 계수와 R2 값을 저장해야합니다. 누군가가 도울 수 있기를 바랍니다.다른 관측치를 가진 R의 회귀 분석

+1

내가 가진 문제를 잘 모르겠다. 귀하의 질문은 무엇인가? – WillardSolutions

+0

나는 명확히하려고 노력할 것이다. 전체 샘플에 대해 1 회 회귀를하는 방법을 알고 있지만 각 회에 대해 하나씩 회귀가 필요합니다. 회귀 방정식은 동일합니다. eReturn = c + b1 * MKTRF + b2 * HML + b3 * SMB. 루프를 만들고 루프 내에서 회귀를 실행하고 결과를 저장하려면 어떻게해야합니까? 감사합니다 –

답변

0

변수를 기반으로 "permno"로 그룹화 된 관측치에 대해 회귀 분석을 실행한다고 가정합니까? 여기 당신이 할 수있는 것이 있습니다.

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

split() 함수는 permno 가정 할 요소이다 "permno"그룹하여 "DF"를 분할합니다. 이제 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

대단히 고마워요. –