728x90

SAS/IMLInteractive Matrix Language의 약어이며, SAS의 여러 제품 중에서 행렬(Matrix) 연산을(Matrix) 지원하는 제품입니다.

행렬계산 소프트웨어로는 GAUSS, MATLAB 등이 세계적으로 유명하며, 행렬계산은 통계학, 계량경제학, 금융공학 등 거의 모든 분야에서 많이 사용됩니다.

요즘 많이 사용되고 있는 R에서는 행렬(matrix)이라는 데이터 객체가 기본적으로 지원하고 있어서 R을 이용하면 행렬 계산을 편리하게 할 수 있습니다.

 

SAS/BASE를 이용하면 여러 STEP을 거쳐야 하는 프로그램도 SAS/IML을 이용하여 간단하게 만들 수 있는 경우가 많습니다.

SAS/IML을 이용한 프로그램을 보면 SAS/STAT의 여러 가지 기능을 이해할 수 있습니다.

SAS/STAT에서 구할 수 없는 통계량을 쉽게 구할 수 있고 중간 파일로 쉽게 저장할 수 있습니다.

 

/*-----------------------------------------------*/

/* 가장 간단한 IML 프로그램 12_iml_01.sas */

/*-----------------------------------------------*/

1 PROC IML;

2 a1= {1 2 3 4};   # IML의 데이터는 { } 로 저장합니다.

3 a2= {1 2,3 4};   # {1 2 3 4}는 1행 행렬이고, {1 2, 3 4 } 는 가운데 컴마로 구분  {1 2} {3 4} 2차원 행렬입니다 

3 PRINT a1, a2;

4 QUIT;             # SAS/IML 의 끝에는 RUN: 이 아니고 QUIT; 를 사용합니다. 

 

 [결과]

 

A1           A2

1 2 3 4     1 2

               3 4

 

[설명]

 

2 a1= {1 2 3 4};
행렬 a11 by 4 인 행렬을 구성합니다.

 

3 a2= {1 2 , 3 4};
행렬 a22 by 2 인 행렬을 구성하는데 ‘,’로 구분한다

 

4 PRINT a1, a2;
행렬 a1, a2를 프린트한다

 

 

+ Recent posts