我正在尝试在 R 中生成时间虚拟变量。我正在分析季度面板数据(1990q1-2013q3)。如何生成 2007q1-2009q1 期间的时间虚拟变量,即 2007q1 dummy=1...
数据如图所示。资产排名是 id 变量。
问候和感谢!
我正在尝试在 R 中生成时间虚拟变量。我正在分析季度面板数据(1990q1-2013q3)。如何生成 2007q1-2009q1 期间的时间虚拟变量,即 2007q1 dummy=1...
数据如图所示。资产排名是 id 变量。
问候和感谢!
我会说model.matrix
可能是你最好的选择。
date.f <- factor(dat$date)
dummies = model.matrix(~date.f)
我按照这个答案使用了更简单的方法。我想这里的时间序列和面板数据在应用方面没有区别。
print date
dummy <- as.numeric(date >= "2007 Q1" & date<="2008 Q4")
print (dummy)
@Demet 的答案很有用,但如果你有很多(例如 50 个句点),它会变得有点乏味。
@Amstell 的答案也很有用,它返回一个包含一个截距的矩阵。取决于您希望如何继续分析您必须取出的数据,这对您的后续分析最有用。
除了提出的答案之外,我还提出了以下代码,它只显示一个虚拟变量而不是一个巨大的矩阵。
dummies = table(1:length(date),as.factor(date))
此外,重要的是要注意哪个时间段是解释模型的参考组。如果您有两个时间段,则可以通过应用以下代码更改参考组。
abs(Date(-1))