【问题标题】:Generate a time dummy variable in R (panel data)在 R 中生成时间虚拟变量(面板数据)
【发布时间】:2016-06-01 23:21:28
【问题描述】:

我正在尝试在 R 中生成时间虚拟变量。我正在分析季度面板数据 (1990q1-2013q3)。如何生成 2007q1-2009q1 期间的时间虚拟变量,即 2007q1 dummy=1...

数据如图所示。资产排名是 id 变量。

问候和感谢!

【问题讨论】:

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

标签: r panel-data


【解决方案1】:

我会说model.matrix 可能是你最好的选择。

date.f <- factor(dat$date)
dummies = model.matrix(~date.f)

【讨论】:

    【解决方案2】:

    我在this answer 之后使用了更简单的方法。我想这里的时间序列和面板数据在应用方面没有区别。

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

    【讨论】:

      【解决方案3】:

      @Demet 的答案很有用,但如果你有很多(例如 50 个句点),它会变得有点乏味。

      @Amstell 的答案也很有用,它返回一个矩阵,其中包含一个截距。取决于您希望如何继续分析您必须取出的数据,这对您的后续分析最有用。

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

      dummies = table(1:length(date),as.factor(date))  
      

      此外,重要的是要注意哪个时间段是解释模型的参考组。如果您有两个时间段,则可以通过应用以下代码来更改参考组。

      abs(Date(-1))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-21
        • 2018-05-28
        • 1970-01-01
        • 2012-08-10
        相关资源
        最近更新 更多