proc selif(x,e);
retp( submat(x,submat(packr(seqa(1,1,rows(x))~miss(e,0)),0,1),0) );
endp;
proc 1=binitial(initd);
local b1, b2, b3, sigma1, sigma2, selctval;
initd = packr(initd);
selctval = selif(initd[.,1:_n1+1],initd[.,1].>=0);
b1 = selctval[.,1] / selctval[.,2:_n1+1];
sigma1 = stdc( selctval[.,1] - selctval[.,2:_n1+1]*b1 );
selctval = selif(initd[.,1 _n1+2:_n1+_n2+1],initd[.,1].<0);
b2 = selctval[.,1] / selctval[.,2:_n2+1];
sigma2 = stdc( selctval[.,1] - selctval[.,2:1+_n2]*b2 );
selctval = initd[.,1] - meanc(initd[.,1]);
selctval = cdfn( selctval./stdc(selctval[.,1]) );
b3 = selctval[.,1] / initd[.,_n1+_n2+2:_n1+_n2+_n3+1];
retp(b1|b2|b3|sigma1|sigma2);
endp;
报错
c:\gauss9.0\pitfalls\swinit2.g(16) : error G0276 : 'selif' : Illegal use of reserved word
c:\gauss9.0\pitfalls\swinit2.g(18) : error G0055 : RETP outside of procedure
c:\gauss9.0\pitfalls\swinit2.g(19) : error G0158 : ENDP without PROC