在R(面板数据)中生成时间伪变量

在R(面板数据)中生成时间伪变量,r,panel-data,R,Panel Data,我试图在R中生成一个时间虚拟变量。我正在分析1990年第一季度至2013年第三季度的季度面板数据。如何为2007q1-2009q1期间生成时间虚拟变量,即2007q1虚拟=1 数据如图所示。资产等级是id变量 问候和感谢 我认为model.matrix可能是你最好的选择 date.f <- factor(dat$date) dummies = model.matrix(~date.f) 我认为model.matrix可能是你最好的选择 date.f <- factor(dat$da

我试图在R中生成一个时间虚拟变量。我正在分析1990年第一季度至2013年第三季度的季度面板数据。如何为2007q1-2009q1期间生成时间虚拟变量,即2007q1虚拟=1

数据如图所示。资产等级是id变量

问候和感谢

我认为model.matrix可能是你最好的选择

date.f <- factor(dat$date)
dummies = model.matrix(~date.f)
我认为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)

我用了更简单的方法。我猜时间序列和面板数据在应用方面没有区别

print date
dummy <- as.numeric(date >= "2007 Q1" & date<="2008 Q4")
print (dummy)

@Demet的答案是有用的,但是如果你有很多,比如50个句号,它会变得有点乏味

@amsterll的答案也很有用,它返回一个矩阵,其中包含一个带1的截距。根据您想继续分析的方式,您必须取出对后续分析最有用的数据

除了提出的答案之外,我还提出了下面的代码,它只显示了一个虚拟变量,而不是一个巨大的矩阵

dummies = table(1:length(date),as.factor(date))  
此外,重要的是要注意哪个时间段是解释模型的参考组。如果有两个时间段,可以通过应用以下代码更改参照组

abs(Date(-1))

@Demet的答案是有用的,但是如果你有很多,比如50个句号,它会变得有点乏味

@amsterll的答案也很有用,它返回一个矩阵,其中包含一个带1的截距。根据您想继续分析的方式,您必须取出对后续分析最有用的数据

除了提出的答案之外,我还提出了下面的代码,它只显示了一个虚拟变量,而不是一个巨大的矩阵

dummies = table(1:length(date),as.factor(date))  
此外,重要的是要注意哪个时间段是解释模型的参考组。如果有两个时间段,可以通过应用以下代码更改参照组

abs(Date(-1))

我想你会发现StackOverflow对这类问题更有帮助。我想你会发现StackOverflow对这类问题更有帮助。