SAS/IML에서 사용되는 각 연산자에 대한 예를 들어 설명함으로 이해하기 쉽도록 하였습니다.
/*----------------------------------------------------------*/
/* IML의 여러기능들을 실행한 프로그램 – 12_iml.sas */
/*---------------------------------------------------------*/
PROC IML;
a={ 1 2 3 4}; b={ 1 2 , 7 8}; c={ 3 4 , 5 6};
a2=2*a; /* 행렬 a의 각 원소를 2배 곱한다 */
bcsum=b+ 10*c; /* 행렬 c의 원소를 10배 한 것과 행렬 b를 더한 것 */
bcmul1=b*c; /* 행렬 b와 행렬 c를 곱한 것 (행렬연산) */
bcmul2=b#c; /* 행렬 b와 행렬 c를 곱한 것, (원소끼리) */
bcdiv=b/c; /* 행렬 b를 행렬 c의 원소끼리 나눈 것 */
bckron=b@c; /* Kronecker 곱 */
btrans=b`; /* 전치행렬, ‘ 는 키보드 왼쪽 제일 위에 있는 문자입니다 */
binv=inv(b); /* 역행렬 */
m=2; /* Scalar */
bm=b**m; /* 행렬 멱 */
bcside= b || c; /* 옆으로 붙이기 */
bcup= b // c; /* 아래로 붙이기 */
bcsmall= b >< c; /* 원소중에서 작은 값 */
bclarge= b <> c; /* 원소중에서 큰 값 */
bsum1=b[+,]; /* 행에 대하여 더하기 */
bsum2=b[,+]; /* 열에 대하여 더하기 */
b22=b[2,2]; /* 원소 2,2 에 해당되는 것 */
b2=b[,2]; /* 2열에 해당되는 것 */
b3=b[2,]; /* 2행에 해당되는 것 */
nrow=nrow(b);
ncol=ncol(b);
M1={1 1,0 1};
M2={1 1, 1 0};
M3=M1 & M2; /* 원소들의 논리곱 연산자 */
M4=M1 | M2; /* 원소들의 논리합 연산자 */
Q=4:7; /* Q=4 5 6 7 */
PRINT a, b, c, a2, bcsum, bcmul1, bcmul2, bckron,btrans, binv,bm,
bcside,bcup, 28 bcsmall,
PRINT m1,m2,m3,m4,q,nrow,ncol;
QUIT;
'SAS연습 200제 > 11. SAS_IML' 카테고리의 다른 글
(S1)제12강(1.1) SAS에서 R 실행하기 (0) | 2021.01.19 |
---|---|
12.0 SAS/IML 목차 (0) | 2020.08.06 |
12.5 (2) SAS/IML 예제를 R로 하기 (0) | 2020.07.10 |
12.3 SAS/IML 응용 - 회귀분석 (0) | 2020.06.27 |
12.1 SAS/IML 이란? (0) | 2020.06.27 |