SAS程序查找错误-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

SAS软件培训

>>

SAS程序查找错误

SAS程序查找错误

发布:慧(会)幸福 | 分类:SAS软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

libnameDATA'c:\SASDATA';procprinttolog=_null_;run;datadata.ab;a=-0.618;b=1.618;v=1+a*a;u=1+(1-a)**2;t=1+b*b;s=1+(b-1)**2;la=2*log(v/u);lb=2*log(t/s);c=la/log(1+a*a);d=lb/log(1+b*b);keepcd;run;procfcmp ...
免费学术公开课,扫码加入


libname DATA 'c:\SASDATA';
proc printto log=_null_; run;
data data.ab;
a=-0.618;
b=1.618;
v=1+a*a;
u=1+(1-a)**2;
t=1+b*b;
s=1+(b-1)**2;
la=2*log(v/u);
lb=2*log(t/s);
c=la/log(1+a*a);
d=lb/log(1+b*b);
keep c d;
run;
proc fcmp outlib=sasuser.funcs.math_stat;
# not clear to me how it works
function lstar(u,c,d);
if (u le-0.618) then return (c*log(1+u*u));
if (u ge 1.618) then return (d*log(1+u*u));
elsereturn(2*log((1+u*u)/(1+(u-1)*(u-1))));
endsub;
function g(u);
if (u le-0.25) then return (2*log((1+0.25*0.25)/(1+1.25*1.25)));
if (u ge 1.25) then return (2*log((1+1.25*1.25)/(1+0.25*0.25)));
else return(2*log((1+u*u)/(1+(u-1)*(u-1))));
endsub;
run;
options cmplib =sasuser.funcs;
%let r =10000;
data data.lstar;
call streaminit(1234); # for reproduce results
set ab;
do sample =1 to &r;
call missing(sum1, sum2);
do i =1 to 2000;
x =rand('T',3);
y =x/sqrt(3) ;
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;
data shifts_drifts;
set data.lstar;
by sample;
array _n[10] _temporary_ (1 2 3 4 5 6 7 8 9 10);
array _s[10] _temporary_;array _d[10] _temporary_;
if first.sample then call missing(of _s
  • _d
  • );
    do k =1 to dim(_n);
    if _s[k] <1 then if (sum1 ge (2.01+0.01*(_n[k]-1))) then do;
    _s[k] =1; n =_n[k]; cat ='shifts';
    output shifts_drifts(keep =sample n i cat);
    end;
    if _d[k] <1 then if (sum2 ge (2.01+0.01*(_n[k]-1))) then do;
    _d[k] =1; n =_n[k]; cat ='drifts';
    output shifts_drifts(keep =sample n i cat);
    end;
    end;
    run;
    proc means data=shifts_drifts;
    class n cat;
    var i;
    output out=ci_shifts_drifts(drop =_freq_ _type_) mean=ARL_sARL;
    run;
    上面的程序出现错误,SAS运行后出现下面结果,求帮忙

    309 do k =1 to dim(_n);
    310
    311 if _s[k] <1 then if (sum1 ge (2.01+0.01*(_n[k]-1))) then do;
    312 _s[k] =1; n =_n[k]; cat ='shifts';
    313 output shifts_drifts(keep =sample n i cat);
    -
    22
    76
    ERROR 22-322: 语法错误,期望下列之一: 名称, 带引号的字符串, ;, RC, _DATA_, _LAST_, _NULL_.

    ERROR 76-322: 语法错误,语句将被忽略。

    314 end;

    「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
    免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
    涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
    来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
    经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
    扫描下方二维码下载并注册APP
  • 本文关键词:

    本文论坛网址:https://bbs.pinggu.org/thread-2319200-1-1.html

    人气文章

    1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
    2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
    3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
    数据分析师 人大经济论坛 大学 专业 手机版
    联系客服
    值班时间:工作日(9:00--18:00)