看板 Statistics 關於我們 聯絡資訊
※ 引述《ss849101 ()》之銘言: : [程式]: : SAS : [軟體程式類別]: : SAS9.4 : [程式問題]: : 想使第一筆缺漏值為0且使用先前的資料補齊之後的缺漏值。 : [軟體熟悉度]: : 新手 : [問題敘述]: : 在資料中遇到一些資料是三個月或是一年出現一次,但我處理資料的頻率是一個月一次, : 例如:3月有資料,可是四、五月沒有,我想要利用三月的資料覆蓋到四、五月去。 : 另外我的樣本期間中第一筆資料是缺漏的,我希望它可以是0。 : 試了許多方法都無法執行,請各位前輩指點,謝謝。 : [程式範例]: : 這是我的資料,其中EPS等資料是三個月或是一年一期,price等是每個月都有, : 我想要把EPS那些資料弄成每個月都是, : 例如: 31JAN1989 後的 EPS 和 29DEC1988 的 EPS 一樣都是3.55至28DEC1989為止 : https://i.imgur.com/J4mToNJ.png
: 然後 29JAN1988 的EPS沒有資料,我想讓他為0, : 以下是我所做的嘗試,但是無法完成我的目的。 : https://i.imgur.com/yKpISl0.png
: 如果第一筆資料都有了之後我要讓EPS都跟著前一筆資料,所以我想用Array的方式 : 方式一: : https://i.imgur.com/SVsPVhO.png
: 方式二(開巨集讓他執行): : https://i.imgur.com/DzwPIgP.png
: 我的程式一定是出問題了,不然就是我邏輯不對, : 總之我卡住了,希望各位前輩願意指點。 盲打,希望沒打錯... data new; set old; by code; retain eps_now; if first.code = 1 then eps_now = 0; if eps = . then eps = eps_now; else eps_now = eps; drop eps_now; run; 上面的code是假設只有esp欄位要做處理,如果其他欄位也要這樣處理的話 那又是另一個故事了XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.11.8.26 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1574874991.A.EC4.html ※ 編輯: west1996 (39.11.8.26 臺灣), 11/28/2019 02:11:32
ss849101: 真的可以耶!你太厲害了 11/28 12:22
ss849101: 謝謝! 11/28 12:22