看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]: 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
imaltar: 04JAN2008的value是不是應該是1? 06/01 21:13
※ 編輯: yellowleaf (111.250.35.26), 06/02/2015 00:04:37
yellowleaf: 喔 對 沒錯 多謝提醒!! 06/02 00:05
chien533: 你把新資料的value先全部變成0, 再把舊資料merge進來 06/02 06:14
chien533: 兩個data step就可以搞定,沒那麼複雜 06/02 06:14
yellowleaf: 原來如此 解決了 謝謝C大和I大!! 06/02 11:16