【问题标题】:Dummy Variable with increase YEAR虚拟变量增加 YEAR
【发布时间】:2016-02-03 17:48:33
【问题描述】:
dt<- data.frame(year=factor(2000:2004))

我需要一个虚拟变量设置如下dt.dummy

dt.dummy <-matrix(c(0,1,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,0,1), nrow=5)

也就是说,去年没有假人,2004年,假人是由增加的年份创建的。

我将使用季度数据,因此至少有 120 次观察。

【问题讨论】:

    标签: r


    【解决方案1】:

    我们可以使用model.matrix得到虚拟编码,然后得到每一列的cumsum

    apply(model.matrix(~year-1, dt)[,-1], 2, cumsum)
    

    另一个选项是mtabulate

    library(qdapTools)
    d1 <- mtabulate(dt$year)[-1]
    #based on the example, we can also change the lower triangle as 1   
    d1[lower.tri(d1)] <- 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2023-01-31
      • 2018-04-06
      • 2017-12-14
      • 2022-01-07
      • 1970-01-01
      相关资源
      最近更新 更多