Re: [程式] sas資料除錯
看不是很懂你的需求,同id但sex不一致的人抓出來
為什麼output是 aa f
aa f ====>這筆也要抓嗎@_@
aa m
好吧,那就按照你output的需求
proc sort data=aa out=b1 nodupkey;by id sex;run;
data b2;set b1;by id sex;if first.id+last.id=2 then delete;run;
proc sort data=aa;by id sex;run;
data b3;merge aa(in=x) b2(in=y);by id sex;if x+y=2;run;
※ 引述《minna05 (take it easy)》之銘言:
: 首先非常感謝imaltar提供的語法
: 但我在執行大樣本的時候發生了以下的問題:
: 除了原先我想除錯的id會顯示以外
: 當該id的frequency count 為11.22時
: 即使它的percent為100%仍會顯示於output中
: 請問這有改善的方法嗎?
: 另外,當該筆id的sex為遺漏値時,也會被挑出
: 有辦法讓他顯示成
: aa m
: aa
: aa m
: 這樣嗎? 我再人工判斷是否留下該id
: 謝謝大家幫忙^^
: ※ 引述《imaltar (..)》之銘言:
: ※ 引述《minna05 (take it easy)》之銘言:
: : [軟體程式類別]:sas
: : [程式問題]:資料處理
: : [軟體熟悉度]:低(1~3個月)
: : [問題敘述]:假設資料為
: : data a;
: : input id $ sex $;
: : cards;
: : aa f
: : aa f
: : aa m
: : bb f
: : cc m
: : cc m
: : ;
: : 我想要把同id但sex卻不一致的人抓出來
: : 讓output呈現 aa
: : 或是 aa f
: : aa f
: : aa m
: : 請問語法該怎麼寫呢?
: : 謝謝^^
: proc sort data=a;by id;
: proc freq data=a noprint;table sex/out=b(where=(percent ne 100));by id;run;
: b就是id和sex不同的data
: 你也可以將b根據id串回a得到aa
: proc sort data=b;by id;
: data aa;merge a(in=a) b(in=b keep=id);by id;if a=b;run;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.139.149
※ 編輯: socery 來自: 218.167.139.149 (06/09 23:06)
推
06/09 23:28, , 1F
06/09 23:28, 1F
討論串 (同標題文章)