[SAS 프로그래밍] 레이블(label) 생성하기
안녕하세요^^
이번시간에는 데이터에 레이블(label)을 생성하는 방법에 대해 알아보겠습니다.
우선 레이블의 개념과 특징에 대해 살펴보겠습니다.
- 레이블은 데이터에 대한 유용한 정보가 포함될 수 있으며,
- 일부 절차에서 레이블을 자동으로 출력하여 결과를 보기 좋게 만들 수 있습니다.
- SAS 데이터셋이 DATA step으로 작성되거나 수정될 때 영구 속성(permanent attribute)으로 레이블을 생성할 수 있습니다.
- 변수 레이블의 최대 길이는 256자(characters)입니다.
▶ 레이블 존재여부 확인하기: PROC CONTENTS
PROC CONTENTS의 출력을 보고 변수에 레이블이 있는지 여부를 알 수 있습니다.
먼저, 데이터는 sashelp 라이브러리에 존재하는 ‘retail’을 사용하도록 하겠습니다.
결과를 보면, SALES 변수에 레이블이 존재함을 알 수 있습니다.
PROC CONTENTS 프로시저를 사용하여 데이터에 레이블이 존재하는지 살펴보았습니다.
▶ 레이블 생성하기1: DATA step
사용중인 데이터에 레이블이 없으면 DATA step에서 쉽게 만들 수 있습니다.
또한 하나의 문장에서 필요한 만큼의(여러 개의) 레이블을 만들 수 있습니다.
▷ sashelp 라이브러리에 있는 ‘retail’ 예제를 사용하고,
▷ DATA step의 label 문장을 사용하여 레이블을 생성해보도록 하겠습니다.
Label 문장은 아래와 같이
Label 변수1 = ‘레이블1’ 변수2 = ‘레이블2’ …;
작성하며, 따옴표(‘)로 묶인 단어는 등호 왼쪽에 있는 변수의 레이블이 됩니다.
PROC CONTENTS 프로시저의 출력 결과를 살펴보면, 변수 DATE와 DAY에 새로운 레이블이 생성된 것을 확인할 수 있습니다.
▶ 레이블 생성하기2: PROC DATASETS
앞선 예제의 DATA step을 사용하여 레이블을 작성하는 방법을 알아보았습니다.
이번에는 레이블을 작성하는 또 다른 방법인 PROC DATASETS 프로시저를 살펴보겠습니다.
▷ 위의 예제에서 생성한 newdat 데이터셋을 사용하겠습니다.
▷ 데이터셋에 이미 레이블이 존재하는 변수 ‘date’의 레이블을 변경하고,
▷ 레이블이 존재하지 않는 변수 ‘month’의 레이블을 생성해보도록 하겠습니다.
아래와 같이 PROC DATASETS 프로시저를 사용하고, 수정할 데이터를 modify 문장에 작성합니다.
추가적으로 label 문장에 생성할 레이블을 작성하며, 작성방법은 위의 예제와 같습니다.
참고로 PROC DATASETS의 label 문장은 로그에 메시지를 출력하지 않으며,
contents 문장에 의해 출력된 결과를 통해 변경된 레이블과 생성된 레이블을 볼 수 있습니다.
▶ 레이블 생성하기3: SQL 문장 사용
이번에는 SQL 문장을 사용하여 레이블을 생성해보도록 하겠습니다.
▷ sashelp 라이브러리의 ‘class’ 자료를 이용하여
▷ work 라이브러리에 새로운 데이터 ‘class’로
▷ 변수 ‘age’의 레이블은 ‘AGE IN 2017’로 변경하여 저장하겠습니다.
PROC SQL 문장으로 작성할 때는,
ALTER TABLE 문장에 사용할 데이터를 지정해줍니다.
MODIFY 문장을 사용하여 age 변수의 label을 “AGE IN 2017”로 지정합니다.
PROC CONTENTS로 출력결과를 살펴보면 age 변수의 label이 변경된 것을 확인할 수 있습니다.
이상으로 레이블을 생성하는 다양한 방법에 대해 알아보았습니다.
감사합니다^^
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.