作者roger12345 (神)
看板Statistics
標題Re: [問題] SAS分組找出同一欄位中的不同值
時間Mon May 4 02:41:17 2009
: 資料形態
: 案號 物品編號 所在縣市
: A1 1 台北市
: A1 2 台北市
: A1 3 台北市
: A1 4 高雄市
: A2 ....
: A2 ....
: 請問各位先進
: 我的資料中正常情況是
: 若是同一案號下 所在縣市應該都要是相同的
: 但若出現上述A1-4的情況 也就是要找出所在縣市跟同案號其他筆不同的異常點
: 煩請有經驗的先進給與建議 謝謝!!
請參考以下:
------------------------------------------------------------------------------
Data A;
INFILE CARDS FIRSTOBS=2;
INPUT Case $ Number Address $;
CARDS;
案號 物品編號 所在縣市
A1 1 台北市
A1 2 台北市
A1 3 台北市
A1 4 高雄市
A2 1 高雄市
A2 2 高雄市
A2 3 高雄市
A2 4 台北市
;
PROC PRINT NOOBS DATA=A;
Data B;
SET A;
BY Case;
IF Address='台北市' THEN X='A1';
IF Address^='台北市' THEN X='A2';
IF Case=X;
PROC PRINT NOOBS DATA=B (DROP=X);
RUN;
------------------------------------------------------------------------------
也可依相對應的案號及所在縣市來寫判斷句,IF Address='高雄市' THEN X='A2';
最後只 PRINT 出想要的資料即可。
希望對你有所幫助!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.112.115
1F:推 tew:不知道 proc rank 能不能對文字編組 可以試試看 05/04 11:47
2F:推 qfchi:proc sort data=a nodupkey out=aa; by case address; run; 05/04 18:46
3F:→ qfchi:觀察aa 這個資料集 案號若出現兩次以上就是異常點 05/04 18:50
4F:推 fero:感謝各位,後來我是用兩次proc sort解決問題 05/06 00:14
5F:→ fero:就是在q大的方法後,再一次proc sort by CASE然後找n>1的CASE 05/06 00:16