Re: [程式] SAS同一組內更改變數的方法

看板Statistics作者 (成立奧凶帝國!!)時間16年前 (2010/03/11 17:50), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/3 (看更多)
DATA test; SET origin; /*原始檔*/ IF dum1 = 1 THEN dum2 = 1;/*產生一個新的變項作為對照組*/ IF first.id THEN dum2 = dum1; RETAIN dum2 0; BY ID; dum1=dum2; /*讓舊變項等於新變項*/ DELETE dum2; /*刪去新變項*/ RUN; 你試試看吧 感覺起來應該有更簡單的寫法 ※ 引述《paochien (煩躁的調子)》之銘言: : ------------------------------------------------------------------------ : [軟體程式類別]: : SAS : [程式問題]: : 資料處理 : [軟體熟悉度]: : 新手(不到1個月) : [問題敘述]: : 我的資料是長這樣 : Obs ID year DUM1 : 1 A 2001 0 : 2 A 2002 1 : 3 A 2003 0 : 4 A 2004 0 : 5 B 1993 1 : 6 B 1994 0 : 7 B 1995 0 : 8 C 1996 0 : 9 C 1997 0 : 10 C 1998 1 : 11 C 1999 1 : 12 C 2000 0 : Dum1是利用其他變數做為criteria而得的一個dummay variable : 現在的問題是想要把同一間公司只要dum1是1之後的所有年份都該為1 : 就會變成 : Obs ID year DUM1 : 1 A 2001 0 : 2 A 2002 1 : 3 A 2003 1 : 4 A 2004 1 : 5 B 1993 1 : 6 B 1994 1 : 7 B 1995 1 : 8 C 1996 0 : 9 C 1997 0 : 10 C 1998 1 : 11 C 1999 1 : 12 C 2000 1 : 我翻了一些書也找了一些網站,是過lag來加減看看 : 可是最後的結果都會有一些被漏掉沒改成1 : 不知道各位前輩有沒有比較好的辦法可以指點一下<(_ _)> : 新手很笨的問題請多包涵Orz -- (C)lass 【 分組討論區 】 11 卡漫夢工廠 卡通, 漫畫, 動畫 [Ckmike] 4 C_J_Artist 作家 Σ日本漫畫家專區 [Ckmike] 10 TakahasiShin 作家 ◎****高橋真作品討論版**** kenshin528 http://kenshinsasstory.blogspot.com/ SAS Story -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.92.238

03/11 18:25, , 1F
謝謝K大!!! 我還沒學到retain... Orz
03/11 18:25, 1F

03/11 18:26, , 2F
不過第六到第八行可以幫我解釋一下嗎??感謝>///<
03/11 18:26, 2F
文章代碼(AID): #1BcBpCas (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1BcBpCas (Statistics)