SAS/SAS 질문과 답변

(질문) n by n 행렬이 있을 때, 대각원소의 개수를 구하는데 0이 아닌 대각원소의 개수를 구하려면 IML에서 어떻게 하면 될까요?

이슈카 2016. 2. 21. 13:08

요즘 IML 공부하는데 참 어렵네요.

익숙해 지는데 시간이 필요할 거 같아요.

 

혹시 해보신 분 계시면 좀 알려주세요.

================================================================================

proc iml;
x={1 2 3 4,
5 6 7 8,
9 10 11 12,
13 14 15 16};
k=diag(x);
do i=1 to 4;
do j=1 to 4;
if k[i,j] = 0 then k[i,j]=.;
end;end;
z=countn(k);
print x, k, z;
quit;

대각행렬을 뽑고 대각행렬에서 0인 값은 missing 으로 만들고 나머지의 갯수를 셉니다.