作者tew (咖啡王子)
站內Statistics
標題Re: [程式] SAS 根據多變數保留最後一筆資料
時間Fri Jan 7 18:33:12 2011
※ 引述《wl118 (胖子怕熱)》之銘言:
: ------------------------------------------------------------------------
: [軟體程式類別]:SAS
: [程式問題]:資料處理
: [軟體熟悉度]:低
: [問題敘述]:
: 將以下資料 把相同c和相同d的資料 只保留b(流水號)最大的(流水號最後一筆)
: a b c d
: 1 1 0800 0759
: 1 2 0800 0759
: 1 3 0802 0800
: 2 4 0750 0745
: 3 5 0755 0749
: 3 6 0756 0750
: 3 7 0756 0751
: 3 8 0756 0751
proc sort data=yourdata;by a c d descending b;
run;
proc sort data=yourdata nodupkey;by a c d;
run;
應該是這麼做就可以了
或者
proc sql;
create table a as select
a,max(b) as b,c ,d
from yourdata
group by a,c,d;
quit;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.83.228.94
推 lsshno1:thanks 01/07 23:35
推 lsshno1:不好意思,我覺得怪怪的耶,因為他的條件是c和d相等 01/07 23:55
→ lsshno1:可是group by a,c,d(不管是sort,sql,univarate) 01/07 23:55
→ lsshno1:他們好像都是選a,c,d為一組的情形.如果加入這筆資料的話: 01/07 23:56
→ lsshno1:a=4 b=9 c=0756 d=0751,結果會沒有選到b=8,9這兩筆資料 01/07 23:57
→ tew:你要不要在檢查一下 應該不會有錯才是 01/08 00:11
→ tew:另外 他的條件 我不是很確定 01/08 00:12
→ tew:是相同ID中 C D相同取B最大 還是單純CD相同取最大 01/08 00:13
→ tew:因為他給的例子 都可以用 所以我就這麼做了 01/08 00:13
推 lsshno1:tew前輩,我有回了一篇文章喔,請看看. 01/08 00:22