r-plm固定效应回归

  • 本文关键字:回归 r-plm r regression
  • 更新时间 :
  • 英文 :


下面的代码运行时间序列回归"excessr~mkt_rf";使用biglm,因为函数lm不适用于我的真实数据集。

现在我想从biglm切换到plm,以考虑固定效果。不幸的是plm不起作用。

有人知道我能做些什么改变吗?

library(biglm)
library(plm)
library(data.table)
union_with_factors = data.table(
t = c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5),
excessr  = c(10,23,13,53,43,76,34,12,45,13,42,31,4,53,64),
FundId = c("x","x","x","x","x","y","y","y","y","y","z","z","z","z","z"),
mkt_rf = c(1,1,2,1,3,1,1,2,1,3,1,1,2,1,3)
)
sp <- split(union_with_factors, union_with_factors$FundId)
beta <- sapply(sp, function(tmp){
fit <- plm(excessr ~ mkt_rf, data = tmp)
coef(fit)
})

假设个人ID由FundId给定,时间ID由t给定,以下是如何应用固定效应回归:

library(biglm)
library(data.table)
library(plm)
union_with_factors = data.table(
t = c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5),
excessr  = c(10,23,13,53,43,76,34,12,45,13,42,31,4,53,64),
FundId = c("x","x","x","x","x","y","y","y","y","y","z","z","z","z","z"),
mkt_rf = c(1,1,2,1,3,1,1,2,1,3,1,1,2,1,3)
)
fit <- plm(excessr ~ mkt_rf, 
data = union_with_factors, 
index = c("FundId", "t"), 
model = "within")
summary(fit)
fixef(fit)

有关的更多详细信息,请参阅此处和plm文档(控制台中的?plm(

编辑:在这篇文章和这篇文章之后,您似乎可以使用pmg(也在plm包中(进行Fama-MacBeth回归:

fama_macbeth <- pmg(excessr ~ mkt_rf, 
data = union_with_factors, 
index = c("FundId", "t"))
summary(fama_macbeth)

最新更新