作者tew (咖啡王子)
站内Statistics
标题Re: [程式] SAS 删除资料里2%以下和98%以上的异常值
时间Sat Mar 24 10:34:58 2012
※ 引述《cropcircles (神秘的麦田圈)》之铭言:
: [软体程式类别]:
: SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 新手
: [问题叙述]:
: 我的资料有8000多笔,由於异常值有点多,
: 之前有用univariate 初步删除上下1%的异常值
: 但是仍然有点多,因此想再删除上下2%的或是以2%的值来取代异常值
: 而univariate的结果跑出来只能看到1%、5%...、95%、99%等等
: 请问如何求出资料里上下2%的值呢?应该用什麽语法?
: 已经搜寻过版上文章但没找到,希望熟悉SAS的人可以帮我解答,谢谢!!
proc sort data=yourdata;by 要winsorize的变项;
run;
data yourdata;
set yourdata nobs=nobs_tew(自己命名的变项 随意就好);
if 0.02 <_n_/nobs_tew<0.98 then output;
run;
收工
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.70.100.189
1F:→ tew:univariate的语法 确实可输出特定百分位数的资料 03/24 10:36
2F:→ tew:但是SAS的help里面就有语法了 请自己查一下吧 03/24 10:36
3F:→ tew:毕竟research就是 re-search 自己搜寻一下使用的软体语法 03/24 10:37
4F:→ tew:应该是不过分的事情 03/24 10:37
5F:推 cropcircles:感谢~我自己已经试成功了 03/24 17:04