【发布时间】:2020-12-10 00:36:44
【问题描述】:
我有一个差分模型,我想用对 R 的固定效应来估计它。我想包括暴露和治疗的相互作用来计算领先和滞后效应。
基本上,我有共线的变量,我想选择要从我的模型中排除的变量。几天前,使用 lfe 软件包可以做到这一点非常简单:
library(data.table)
library(fixest)
crime <- fread("crime.csv")
# Time as a factor for fixed effects
crime[, time := factor(time)]
# Model
xx <- model.matrix(any_crime ~ treatment:time - 1, data = crime) # time is a factor
# Set period 12 as base
xx[, "treatment:time12"] <- 0
# Model with leads and lags
m1 <- felm(any_crime ~ xx | id + time, data = crime)
但是,既然 lfe 已存档,我已转向更快的 fixest 包。但是我无法让feols() 接受我的model.matrix。与上面做同样的事情,但将felm() 替换为feols() 会出现以下错误:
> feols(any_crime ~ xx | id + time, data = crime)
Error in feols(any_crime ~ xx | id + time, data = crime)
The variable xx is in the RHS of the formula but not in the dataset.
我已阅读?feols(),公式参数没有说明模型矩阵,详细信息部分只有一句话。
fixest 也有model.matrix.fixest,我还检查了这个函数的帮助,它说它需要一个fixest 对象作为它的第一个参数。我无法使用它来创建将周期 12 设置为基准周期的模型。
Here 是用于重现性的小数据样本。
谢谢大家。
【问题讨论】:
标签: r estimation