- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 4603 个
- 通用积分
- 7.4803
- 学术水平
- 7 点
- 热心指数
- 7 点
- 信用等级
- 5 点
- 经验
- 1864 点
- 帖子
- 108
- 精华
- 0
- 在线时间
- 748 小时
- 注册时间
- 2013-10-11
- 最后登录
- 2024-4-2
讲师
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
- 4603 个
- 通用积分
- 7.4803
- 学术水平
- 7 点
- 热心指数
- 7 点
- 信用等级
- 5 点
- 经验
- 1864 点
- 帖子
- 108
- 精华
- 0
- 在线时间
- 748 小时
- 注册时间
- 2013-10-11
- 最后登录
- 2024-4-2
|
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
- /*********************************************************************/
- | 数据重复检测程序,用于鉴别观测中有没有大量重复;
- | data= 指定需要检测的数据集;
- | var= 指定哪些变量的重复性,例如有20个变量,n1-n20
- | percent= 指定重复率,数字范围(0,100)
- |for example: %repeat_test(data=lwy_x,var=n1-n20,percent=60);
- /********************************************************************/;
- %macro repeat_test(data=,var=,percent=)/store;
- options center nonumber nodate formdlim=" " linesize=180;
- data _temp_;set &data;keep &var;run;
- proc sql noprint;
- select cats('col',count(*)) into:num_of_obs from _temp_;
- quit;
- proc transpose data=_temp_ out=_trans_;run;
- ods listing close;ods results off;
- proc freq data=_trans_;
- table col1 - &num_of_obs;
- ods output OneWayFreqs=_freq;
- run;
- proc sql ;
- create table max_repeat as
- select distinct(compress(table,"表“”")) as col_name, max(Percent) as rep_percent,
- input(compress(table,"表“”COL"),5.) as col_sort
- from _freq
- group by calculated col_name;
- quit;
- proc sort data=max_repeat out=max_repeat_sort(drop=col_sort);by col_sort;run;
- data _result_;
- merge &data max_repeat_sort(keep=rep_percent);
- run;
- ods listing;ods results on;
- proc print data=_result_;
- where rep_percent ge &percent;
- run;
- proc datasets library=work;
- delete max_repeat max_repeat_sort _freq _result_ _temp_ _trans_;
- quit;
- %mend repeat_test;
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|
|
|