Re: [程式] SAS同一組內更改變數的方法
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
03/11 18:25, 1F
→
03/11 18:26, , 2F
03/11 18:26, 2F
討論串 (同標題文章)