[程式] SAS 填滿時間序列間距時指定填入值問題
[軟體程式類別]:
SAS
[程式問題]:
時間序列
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
小弟想要把類似這樣的資料
ID DAY value
0001 01JAN2008 1
0001 04JAN2008 1
0001 07JAN2008 1
0002 03JAN2008 1
0002 08JUN2008 1
讓SAS以每個ID為分組,自動填滿DAY當中的間距,並且新增的值value要是0,變成這樣
ID DAY value
0001 01JAN2008 1
0001 02JAN2008 0
0001 03JAN2008 0
0001 04JAN2008 1
0001 05JAN2008 0
0001 06JAN2008 0
0001 07JAN2008 1
0002 03JAN2008 1
(這段省略) (都是0)
0002 08JUN2008 1
我知道這功能在STATA中可以利用tsfill指令後再把遺漏值置換為0來達成,
但爬文和拜估狗大神只找到SAS中有類似的proc expand,
但它會把value也全部都填入1而無法填入0或任何指定值或遺漏值,
不知用什麼方式可以做到我想要的功能呢?
拜謝版上各位高手了!
[程式範例]:
/* 目前只能這樣,不知道還有沒有我不知道的參數或者其他的proc可用 */
/* 感謝各位大大了! */
proc expand data=DATA01 out=DATA01_new to=day;
by ID;
id DAY;
run;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.122.123
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1433149893.A.3C2.html
※ 編輯: yellowleaf (140.109.122.123), 06/01/2015 17:12:38
※ 編輯: yellowleaf (140.109.122.123), 06/01/2015 17:14:09
推
06/01 21:13, , 1F
06/01 21:13, 1F
※ 編輯: yellowleaf (111.250.35.26), 06/02/2015 00:04:37
→
06/02 00:05, , 2F
06/02 00:05, 2F
推
06/02 06:14, , 3F
06/02 06:14, 3F
→
06/02 06:14, , 4F
06/02 06:14, 4F
→
06/02 11:16, , 5F
06/02 11:16, 5F