2014-02-09 46 views
3

我有一個大data.table看起來像[R如何種植data.table

custid, dayofweek, revenue 
AA 2 345 
AA 3 545 
BB 1 544 
BB 4 456 
CC 7 231 

我想「成長」這個數據表,它擁有所有7個號碼爲每個客戶ID與收入欄設置爲NA。示例如下所示。

custid, dayofweek, revenue 
AA 1 NA 
AA 2 345 
AA 3 545 
AA 4 NA 
AA 5 NA 
AA 6 NA 
AA 7 NA 
BB 1 544 
BB 2 NA 
BB 3 NA 
BB 4 456 
BB 5 NA 
BB 6 NA 
BB 7 NA 
CC 1 NA 
CC 2 NA 
CC 3 NA 
CC 4 NA 
CC 5 NA 
CC 6 NA 
CC 7 231 

越來越這樣,絕對不是一個連接操作。任何幫助讚賞。提前致謝。

回答

8
setkey(dt, custid, dayofweek) 
dt[CJ(unique(custid), 1:7)] 
# custid dayofweek revenue 
# 1:  AA   1  NA 
# 2:  AA   2  345 
# 3:  AA   3  545 
# 4:  AA   4  NA 
# 5:  AA   5  NA 
# 6:  AA   6  NA 
# 7:  AA   7  NA 
# 8:  BB   1  544 
# 9:  BB   2  NA 
#10:  BB   3  NA 
#11:  BB   4  456 
#12:  BB   5  NA 
#13:  BB   6  NA 
#14:  BB   7  NA 
#15:  CC   1  NA 
#16:  CC   2  NA 
#17:  CC   3  NA 
#18:  CC   4  NA 
#19:  CC   5  NA 
#20:  CC   6  NA 
#21:  CC   7  231 
# custid dayofweek revenue