全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2130 2
2012-11-12
想用循环的方法对观测值以五个为一组求和,但是写到双重循环运行就不是想要的结果了…………求问到底什么情况……

data b;
input x;
cards;
1
2
3
4
5
6
7
8
;
run;


data a;
do j=0 to floor(N/5);
sum=0;
do i=1 to 5;
n=j*5+i;
set b point=n nobs=N;
sum=sum+x;
output;
end;

data a;sum=0;do i=1 to 5; set b point=i nobs=N; sum=sum+x; output;end;stop;run;


二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-13 08:57:44
我发现是怎么回事儿了……在上面程序中既用了n又用了N,结果N把n的值覆盖了,所以point指针一直指的是N,不知道是不是程序把N当做一个宏处理的?然后在程序运行过程中不区分大小写替换?
解决方法:把n换成y就可以啦

data a;
do j=0 to floor(N/5);
put j= sum=;
sum=0;
do i=1 to 5;
y=j*5+i;
set b point=y nobs=N;
if y<=N then do;
sum=sum+x;
put i= y= n= sum=;
end;
end;
output;
end;
stop;
run;
二维码

扫码加我 拉你入群

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

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

2013-1-16 16:58:25
学习
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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