作者alias (希望)
看板Statistics
標題Re: [問題] 有關SAS..
時間Fri Nov 10 10:12:03 2006
※ 引述《jupit (lbd)》之銘言:
: ※ 引述《alias (希望)》之銘言:
: : PROC SORT DATA=work.bb; BY port_code; RUN;
: : DATA cc; SET work.bb; BY port_code;
: : IF FIRST.port_code THEN n=0;
: : n+1;
: : IF LAST.port_code & n=1 THEN OUTPUT; RUN;
: : 就試試看吧, 以上
: 如果是我會這麼寫
: proc sort nodupkey data=work.bb;
: by port_code;run;
: data aa;
: set work.bb;
: if last.port_code=1;
: run;
: 我通常都是在id非唯一時..如果資料重複(所有欄位都相同情況下)取最後一個id
: or 同id而其他欄位並非全相同,則去排priority(看以何欄位為優先, by ....)
: 一樣取最後唯一的id
你的方法是當資料有重複的時候,只保留一個無重複的即可
即 若資料為 a b b c c c d d e e f f g
你的作法得到 a b c d e f g 的結果, 也就是去掉重複的部份
而我的作法會得到的是 a g , 也就是只要有重複, 我就都不要了
(程式中 last.port_code=1 時的n值代表 此種port_code的個數
若個數=1, 當然就代表此種port_code並無重複, 是為單一個的)
所以這兩種作法所會得到的結果是不同的
而我個人認為原PO需要的是 "只要有重複, 就不要"
因而提供一點拙見, 也歡迎指教.
祝 愉快
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.175.139
推 jupit:^^..了解~~我想錯了..sorry~ 11/10 10:23
推 alias:不用sorry啦...了解異同在哪兒就好啦...^^ 11/10 11:43