2
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個觀測值。
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個觀測值。
我們可以用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