1071 1

求SAS高手帮忙编程,我是菜鸟 [推广有奖]

  • 8关注
  • 2粉丝

讲师

33%

还不是VIP/贵宾

-

威望
0
论坛币
310 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
15111 点
帖子
218
精华
0
在线时间
379 小时
注册时间
2012-10-31
最后登录
2020-8-31

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
下面的程序中 lstar 和 g 是事先编好的函数,ab是已知的数据集,想要使mu从0.1到20以0.1为间隔变化,怎么办,求高手指教,另外,再此之后(即新的数据集lstar产生之后),我想在每一个mu(从0.1到20,以0.1为间隔)下,判断sum1是否大于或者等于h1(h1已知的)和sum2是否大于或者等于h2(h2已知的),然后输出第一个对应的sum1大于或者等于h1的 i 和输出第一个对应的sum2大于或者等于h2的 i ,请各位指教。不知道我有没有说明白

options cmplib =sasuser.funcs;
%let r =10000;
data lstar;
   call streaminit(1234);
  set ab;
   do sample =1 to &r;
     call missing(sum1, sum2);
     do i =1 to 6000;
       x =rand('T',3) ;
       y =x/sqrt(3)+mu ;
       lstar =lstar(y,c,d) ;
       l =g(y) ;        
       sum1 ++lstar; sum2 ++l;
       if (sum1 lt 0) then sum1=0;
       if (sum2 lt 0) then sum2=0;
       output;
     end;
   end;
  keep sample i sum1 sum2;
run;
#######################################
下面是我之前编的程序,但是其中的mu=2.5并且程序相当慢,我现在想使mu从0.1变到20,并且想用%let加以改进,但是不知道怎么办,请各位指点下吧,多谢了!
%macro arim(r);
%do m=1 %to &r;
data lstar&m;
set ab;
do i=1 to 1000;
x=rand('T',3);
y=x/sqrt(3)+2.5;
lstar=f(y,c,d);
l=g(y);
output;
end;
run;
data ci&m;
set lstar&m;
retain sum1 0;
sum1=sum1+lstar;
if (sum1 ge 0) then sum1=sum1;
else sum1=0;
output;keep i sum1;
run;
data si&m;
set lstar&m;
retain sum2 0;
sum2=sum2+l;
if (sum2 ge 0) then sum2=sum2;
else sum2=0;
output;keep i sum2;
run;
data shifts&m;
set ci&m;
if (sum1 ge 4.6) then output;
run;
data shift&m;
set shifts&m;
if _n_=1 then output;keep i;
run;
data drifts&m;
set si&m;
if (sum2 ge 3.511) then output;
run;
data drift&m;
set drifts&m;
if _n_=1 then output;keep i;
run;
%end;
%mend arim;
%arim(10000);
data sumshift;
set shift1-shift10000;
run;
proc means data=sumshift;
var i;
run;
data sumdrift;
set drift1-drift10000;
run;
proc means data=sumdrift;
var i;
run;


二维码

扫码加我 拉你入群

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

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

关键词:我是菜鸟 options missing sasuser output 程序

沙发
tj0412ymy 发表于 2013-4-7 16:30:48 |只看作者 |坛友微信交流群
加QQ:760432676 详谈
对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-22 16:19