BookmarkSubscribeRSS Feed

[SAS 프로그래밍] 많은 수의 변수 한번에 다루기 (3)

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

[SAS 프로그래밍] 많은 수의 변수 한번에 다루기 (3)

 

안녕하세요^^

지난시간에 이어, 데이터에 변수의 수가 많을 때,

​변수들에 공통적인 작업을 한번에 처리할 수 있는 방법에 대해 알아보겠습니다.

 

 

앞선 시간에 설명하지 못한 마지막 예제에 대해 연습해보도록 하겠습니다.

1. 기존에 존재하던 변수와 동일한 값을 갖는 새로운 변수 만들기

2. 새로운 값(constant)을 갖는 새로운 변수 만들기

3. 변수명 한번에 바꾸기 (rename)

4. 특정 조건을 갖는 변수 한번에 삭제하기 (drop)

5. 한 데이터 셋에 Frequency table 작성하기

 

사용한 자료는 sashelp 라이브러리에 존재하는 ‘cars’ 자료입니다.

‘cars’ 자료는 연속형 변수와 범주형 변수로 이루어져 있는데, frequency table을 작성하기 위해 범주형 변수만 남긴 자료를 이용하도록 하겠습니다.

 

 

 

 

 

다운로드 (26).png  다운로드 (27).png

 

 

 

 

다운로드 (28).png

 

ODS OUTPUT을 사용하여 onewayfreqs 테이블을 onewayfreqs 라는 데이터로 저장하겠습니다.

Onewayfreqs 테이블은 proc freq 프로시저를 사용하여 작성될 수 있습니다.

Cars 자료에 있는 모든 변수(_all_)에 대해 결측값을 포함하는(missprint) 빈도표를 작성합니다.

 

다운로드 (29).png

...

다운로드 (30).png

 

 결과, onewayfreqs 자료에는 위와 같은 frequency table이 작성됩니다.

 

 

위의 자료(onewayfreqs)를 이용하여 frequency table을 작성하는 방법은 array문 사용합니다.

 

다운로드 (31).png

 

Onewayfreqs 자료를 가져와서(set)

varname, varvalue frequency, cumfrequency, percent, cumpercent 변수를 갖는

 frequency table을 작성할 수 있습니다.

이 frequency table은 변수명과 범주값, 빈도 등을 나타내는 결과를 만들어 냅니다.

 

먼저, array를 사용하여 vars라는 배열을 만듭니다.

Varname은 table 변수의 공백(‘ ‘) 기준 첫 번째 단어를 갖게 되며,

 varname과 vname(vars(i))이 같은 값을 갖게 되면 varvalue=vars(i)의 값을 갖습니다.

 

다운로드 (32).png

...

다운로드 (33).png

 

 

이상으로 자료에서는 데이터에 변수의 수가 많을 때,

 

 

변수명을 한번에 바꾸거나 특정 조건을 갖는 변수를 한번에 삭제하는 방법에 대해 알아보았습니다.

감사합니다^^

 

 

Version history
Last update:
‎06-17-2020 06:10 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