楼主: 胡克定律
4442 7

SAS中对于变量异常值的选取 [推广有奖]

  • 3关注
  • 1粉丝

博士生

34%

还不是VIP/贵宾

-

威望
0
论坛币
89 个
通用积分
0
学术水平
5 点
热心指数
10 点
信用等级
1 点
经验
4279 点
帖子
257
精华
0
在线时间
261 小时
注册时间
2009-12-3
最后登录
2021-2-28

楼主
胡克定律 发表于 2013-4-30 16:59:25 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位大虾,

如果我想选取某一个变量分布在均值加减一个标准差之内和之外的值,可以用什么样的函数或是程序呢?谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:异常值 标准差 异常

Happy~

沙发
Imasasor 发表于 2013-4-30 20:00:08
没有函数,写个宏程序吧
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

藤椅
胡克定律 发表于 2013-4-30 20:16:34
Imasasor 发表于 2013-4-30 20:00
没有函数,写个宏程序吧
请问宏要怎么写呢?
我的想法是用proc univariate找出mean 和std,然后再用if来选观测
不过这么貌似太低端了= =
Happy~

板凳
Imasasor 发表于 2013-4-30 20:27:48
就是这样,你回答对了
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

报纸
rdwalk 发表于 2013-4-30 22:26:45
data test;
  input id $3. x y;
  datalines;
001 24 46
002 34 89
003 67 73
006 18 56
024 9 12
087 45 67
123 23 98
345 29 68
653 34 76
;
run;
%macro outrange(dsn=,var=,idvar=);

  proc means data=&dsn noprint;
    var &var;
        output out=means(drop=_type_ _freq_) mean=m&var std=s&var;
  run;

  %let low=m&var-s&var;
  %let high=m&var+s&var;

  data _null_;
    set &dsn(keep=&idvar &var);
        if _n_=1 then set means;
        if &var lt &low and not missing(&var) or &var gt &high
          then put &idvar= &var=;
  run;

%mend outrange;

%outrange(dsn=test,var=x,idvar=id)

试试这个小宏,每次一变量,你可以改一改,同时做多个变量。

地板
胡克定律 发表于 2013-4-30 23:33:21
rdwalk 发表于 2013-4-30 22:26
data test;
  input id $3. x y;
  datalines;
非常感谢!之前不知道proc mean得出的统计数值可以直接赋值到宏变量上:)
Happy~

7
zhou'jun 在职认证  发表于 2015-10-16 09:18:36
路过。。。。

8
teqel 发表于 2015-10-16 10:47:15
用sql:
proc sql;
select A.id, A.num, case when abs(A.num-b.mean)>b.std then 1 else 0 end as Flag
from test as A left join (select id, mean(num) as mean, std(num) as std from test group by id) as B
on A.id=B.id;
quit;
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
胡克定律 + 3 + 1 + 1 精彩帖子

总评分: 论坛币 + 3  学术水平 + 1  热心指数 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 11:11