------------------------------------------------------------------------
雖然這個程式用不到了,但至少花了很多時間找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