作者kurtasd (阿炫)
站内Statistics
标题[程式] SAS IML
时间Thu Feb 9 12:38:14 2012
------------------------------------------------------------------------
虽然这个程式用不到了,但至少花了很多时间找help,想知道到底是哪写错了= =
[软体程式类别]:
SAS
[程式问题]:
if then else之类的问题
[软体熟悉度]:
新手
[问题叙述]:
目的:若A矩阵中元素符合一系列条件,则将此[i,j]复制到矩阵B中
问题1:有if A or B then...这个语法可用吗?
问题2:无法正确复制
[程式范例]:
proc iml;
use t1 var _all_;
read all into mat;
rs=nrow(mat);
cs=ncol(mat);
k=0;
mat1=repeat(1,rs,cs);
do i=2 to rs;
if 条件A then ;
if 条件B or 条件C then;
if 条件D then do; /*通过A以後,若通过BorC,且通过D则以i复制到k,若不通过 */
k=k+1; /*则以i-1复制到k*/
mat1[k,1]=mat[i,1];
mat1[k,2]=mat[i,2];
mat1[k,3]=mat[i,3];
mat1[k,4]=mat[i,4];
mat1[k,5]=mat[i,5];
mat1[k,6]=mat[i,6];
mat1[k,7]=mat[i,7];
end;
else if ;
k=k+1;
mat1[k,1]=mat[i-1,1];
mat1[k,2]=mat[i-1,2];
mat1[k,3]=mat[i-1,3];
mat1[k,4]=mat[i-1,4];
mat1[k,5]=mat[i-1,5];
mat1[k,6]=mat[i-1,6];
mat1[k,7]=mat[i-1,7];
end;
quit;
run;
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.44.193