全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4310 5
2013-11-18
这是我的宏命令cut(x,y,out),
我想不断变化x(10-100, by 1),y(0.1-9, by 0.1),out(每一对x,y生成不同的out数据集),试了半天说循环不闭合,
求高人给一个让下面这个宏不断对 x, y, out循环的SAS命令。
%macro cut(x,y,out);
data abc2;
set sasuser.abc;
if risk>=&x then dag1=1; /*step1:risk score筛选结果*/
            else dag1=2;
if fpg>=&y then dag2=1; /*step2:FPG筛选结果*/
           else dag2=2;
if dag1=1 and dag2=1 then dag=1;
                     else dag=2;
if FPG>=7 or OGTT>=11.1 then WHO=1; /*按照WHO标准诊断结果*/
                         else WHO=2;  
ods listing;
ods output  Freq.Table1.CrossTabFreqs=out1;
proc freq;
tables dag*WHO;
run;
quit;
ods output close;
ods listing;
data out2;
set out1;
keep Frequency dag WHO ColPercent;
run;
data &out;
merge out2(where=(dag=1 and WHO=1) rename=(Frequency=n)) out2(where=(dag=2 and WHO=2) rename=(ColPercent=ColPercent2)) ;
youdex=ColPercent+ColPercent2-100;
s1=&x ;
s2=&y;
run;
%mend cut;

二维码

扫码加我 拉你入群

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

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

全部回复
2013-11-18 16:47:13
复制代码
二维码

扫码加我 拉你入群

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

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

2013-11-18 20:26:52
zhou.wen 发表于 2013-11-18 16:47
谢谢你,果然厉害。有个问题:生成的data1-90里面都只有x,y两个变量,没有我宏命令里面产生的变量youdex, s1, s2, n, 以及ColPercent等,不知道怎么解决
二维码

扫码加我 拉你入群

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

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

2013-11-18 20:29:59
zhou.wen 发表于 2013-11-18 16:47
谢谢你,果然厉害。有个问题:生成的data1-90里面都只有x,y两个变量,没有我宏命令里面产生的变量youdex, s1, s2, n, 以及ColPercent等,不知道怎么解决
二维码

扫码加我 拉你入群

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

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

2013-11-18 20:39:04
zhou.wen 发表于 2013-11-18 16:47
RC全是 0
二维码

扫码加我 拉你入群

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

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

2013-11-18 20:51:20
coximo07 发表于 2013-11-18 20:29
谢谢你,果然厉害。有个问题:生成的data1-90里面都只有x,y两个变量,没有我宏命令里面产生的变量youdex, ...
因为没原数据,我给的是demo
你把宏cut修改成你需要的就好了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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