全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1431 4
2012-10-08
求高手解决疑惑。用means过程求出一个过程的5%和95%分位数,想知道一下有没有简单方法的把求出的结果应用。
程序如下:
proc means data=jd105c p5 p95;var _col5;class _col2;output out=quntiles p5=pp5 p95=pp95;run;
data out1_d;set out1;if _col5 lt -0.01754234 or _col5 gt 1.05796600 then delete;run;
data out1_d;set out1_d;tt=_n_;run;proc gplot data=out1_d;plot _col5*tt;symbol i=join v=dot;run;
。。。。。
data out30_d;set out30;if _col5 lt -0.0209695 or _col5 gt  1.0220590 then delete;run;
data out30_d;set out30_d;tt=_n_;run;proc gplot data=out30_d;plot _col5*tt;symbol i=join v=dot;run;
_col2的取值为1-30,其中out1-out30数据集包含不同取值的_col2,因为out1—out30的p5和p95结果不同,所以想知道一个简单的方法,根据p5和p95的值删除out1-out30数据集。
求简单方法,十分感谢!!!用univariate过程可以实现吗?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-10-9 10:50:42
两种方法
1.假设原始数据集为A,写个proc means 把所有不同_col2组的p5/p95输出到一个数据集B
merge A&B by _col2,然后在每个obs上根据p5/p95操作
2.写个宏,循环1到30
二维码

扫码加我 拉你入群

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

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

2012-10-9 12:33:13
jessicamin 发表于 2012-10-9 10:50
两种方法
1.假设原始数据集为A,写个proc means 把所有不同_col2组的p5/p95输出到一个数据集B
merge A&B  ...
问题是数据b中有30个p5和p95,对应数据集a变量_col2的30个取值,a和b的观测数不同,这样merge合理吗?merge后又怎样简单的根据p5和p95的值进行删除?谢谢!
二维码

扫码加我 拉你入群

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

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

2012-10-12 15:44:23
前面做出来结果是:
col_2    p5            p95
A         0.1            0.9
B         0.12         0.86
C         0.3           0.88
merge by col_2,每行merge到的是属于自己的p5/p95
col_2     col_5       p5       p95
A            0.3        0.1       0.9
A            0.4        0.1       0.9
B            0.3        0.12      0.86
B            0.5        0.12      0.86
.....
二维码

扫码加我 拉你入群

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

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

2012-10-15 08:35:37
jessicamin 发表于 2012-10-12 15:44
前面做出来结果是:
col_2    p5            p95
A         0.1            0.9
十分感谢!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群