BookmarkSubscribeRSS Feed

[SAS 프로그래밍] ARRAY 활용하기 2

Started ‎06-17-2020 by
Modified ‎06-17-2020 by
Views 229

[SAS 프로그래밍] ARRAY 문 활용하기 2

 

 

 

 

안녕하세요^^

 

지번시간에 이어서 오늘은 array를 응용하여 라벨을 변수 값으로 생성하는 방법에 대해 알아보겠습니다.

 

 

1. array 기본 개념 및 활용 (do array)

2. array 응용 - 라벨 변수 값으로 생성하는 방법 (call label)

 

 

 

먼저, 지난 시간에 배웠던 array 문에서 할당하는 변수명에 _numeric_, 혹은 _character_로 쓰게 되면, 사용하는 데이터 셋에 있는 숫자형 변수값 전체와 문자형 변수값 전체가 array문에 할당되게 됩니다.

 

다운로드 (40).png

 

 

 

오늘 공부할 내용은새로운 변수를 만들어 기존에 라벨로 사용되던 값을 넣고각 관측값들도 라벨과 맞추어 새로운 변수로 할당되게 하는 방법입니다이는 Proc transpose와 비슷한 결과를 나타내게 됩니다.

 

위의 내용들과지난 시간 내용인 array + do loop을 함께 활용하는 방법을 예제를 통해 알아보겠습니다.

 

 

예제에 사용할 데이터는 SAS내의 데이터로 [sashelp]-[class]데이터 입니다.

아래와 같이 이름, 성별, 나이, 키와 몸무게의 변수들로 이루어져 있습니다.

 

다운로드 (41).png

 

다운로드 (42).png

 

다운로드 (43).png

 

먼저 array문에 모든 숫자형 변수들 (나이, 키, 몸무게)를 할당합니다.

 

ARRAY num{*} _numeric_;

 

그 다음, 기존의 라벨들을 category라는 변수에, 숫자형 변수들을 value라는 새로운 변수에 넣기 위해 새로운 변수들의 length를 먼저 지정해 줍니다.

 

 

여기서 주의할 점은 array 문을 length지정보다 먼저 지정해야 합니다.

 

Length를 먼저 쓰게 되면 새로 만들어진 숫자형 변수 value도 array 에 같이 포함되기 때문입니다.

 

 

 

 

다음으로 do 구문에서 CALL을 사용하여 아래와 같이 지정하게 되면

 

CALL LABEL(num{i}, category);

 

‘num 배열의 값의 라벨’이 순서대로 category에 할당되게 됩니다.

 

그 다음으로 value 라는 변수에는 ‘num배열의 값’이 순서대로 할당됩니다.

 

 

 

결과는 proc transpose를 한 결과와 비슷하게 아래와 같이 나타나게됩니다.

 

다운로드 (44).png

 

 

이상으로 array call lable을 사용하여 라벨로 새로운 변수를 만드는 방법에 대해 알아보았습니다.

 

감사합니다. ^^ 

Version history
Last update:
‎06-17-2020 06:12 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

Article Labels
Article Tags