全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1561 3
2011-08-21
请教高手

1.如何设置循环语句根据总样本个数设定最大循环数值?
例如,总样本个数为200个,如何通过编程让SAS自动算出样本总数,并按样本总数进行循环?

2.如何在循环过程中将该次循环的数值赋予该程序中某一需要使用数值的地方?
例如,在将循环次数加入语句 lagN (XXXX)中N所表示的滞后数量?
二维码

扫码加我 拉你入群

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

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

全部回复
2011-8-21 09:16:07
第一个我的想法:
data a;
if 0 then set a nob=nobs;
do i=1 to nobs
.......
二维码

扫码加我 拉你入群

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

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

2011-8-21 14:22:45
不是特别了解lz的样本是怎么放置的,只能猜测下了
我觉得应该使用宏来做比较方便
比如
%macro aa;
data aa1;
set sample end=f;
if f then call symput("nn",_n_);/*如果你的样本是放在一个数据集里,而且行数就是样本数的话*/
run;
%do i=1 %to &nn;/*根据样本数来循环*/
/*这个循环的里面如果想用该次循环的数值,直接引用&nn就好了*/
%end;
%mend;
%aa;
不知道有没有解决你的问题,呵呵
二维码

扫码加我 拉你入群

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

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

2011-8-21 14:51:09
多谢回复,已经解决了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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