[程式] how to create group id

看板Statistics作者 (應天風)時間14年前 (2012/02/23 14:49), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
[軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 中(3個月到1年) [問題敘述]: 假設原始資料為: name wave ----------- Janny 1 Janny 2 Janny 3 Andy 1 Andy 2 Tim 1 Rose 1 Rose 2 Rose 3 Rose 4 現在想把 name 轉為數值的id 希望出來的結果為 name wave group_id --------------------- Andy 1 1 Andy 2 1 Janny 1 2 Janny 2 2 Janny 3 2 Rose 1 3 Rose 2 3 Rose 3 3 Rose 4 3 Tim 1 4 [程式範例]: proc sort data=a out=b; by name; run; data work.c; set work.b; by name; if first.name then group_id+1; run; 我還在試時, 這個code就有達到我要的效果, 但我不太知道為什麼 if first.name 不是只有第一筆才會有值嗎? 想請教大家, 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.86.128 ※ 編輯: fairwind 來自: 140.112.86.128 (02/23 14:51)

02/23 15:37, , 1F
retain group_id 0; if first.name then group_id+1;
02/23 15:37, 1F

02/23 19:45, , 2F
因為group_id+1這個寫法就已經隱含了把group_id設為
02/23 19:45, 2F

02/23 19:45, , 3F
retain的意思,所以就會一直存在不會被清掉了!!
02/23 19:45, 3F

02/24 00:03, , 4F
感謝樓上兩位!!
02/24 00:03, 4F
文章代碼(AID): #1FHU64eT (Statistics)