我一直在使用Stata和eViews,并且知识或R非常有限,这就是我需要一些帮助的原因。我估计从2010年到2016年的Fama法国股票模型,所以我需要对每只股票进行回归分析。每个回归都将具有超额回报(ereturn)作为因变量,然后MKTRF,HML和SMB作为自变量。股票代码存储在名为permno的变量中。我在这里问到的大多数问题都是关于使用不同变量循环回归,但在我的情况下,变量不会改变,但观察结果却是如此。我需要保存系数,并为每个回归保存R2值。我希望有人可以提供帮助。
答案 0 :(得分:0)
基于你的变量,我认为你想对按" permno"?分组的观察结果进行回归分析。这是你能做的。
# Create list of subsets
dfList = split(df, permno)
split()
功能会拆分您的" df"小组" permno"假设permno是一个因素。现在使用lapply为每个子集运行相同的模型。
regSummaryList = lapply(dfList, function(x) {
lm(eReturn ~ MLTRF + HML + SMB, data = x)
})
这将返回每个回归的回归对象列表。然后,您可以使用以下内容提取系数和R square:
coefList = lapply(regSummaryList, coef)
R2 = sapply(regSummaryList, function(x) summary(x)$r.squared)
coefList
将是系数列表,而R2
将是R2的矢量。