SAS

Reshape : long to wide data

은하수너머 2023. 12. 28. 17:44

 SAS로  long form 인 데이터를 wide form 으로 변환하기 

 proc transpose 를 사용하면 된다는 것은 금방 알 수 있는데,  여러 변수들을 변환하려면 단순하지는 않다. 

1. 기본 예시  : 기본적인 내용은 아래의 사이트에서 살펴보자

Reshaping data long to wide using the data step | SAS Learning Modules (ucla.edu)

 

Reshaping data long to wide using the data step | SAS Learning Modules

 

stats.oarc.ucla.edu

 

2. (다소) 복잡한 예시 : 여러 변수들을 변환하기

SAS 홈페이지에 올려져 있는 이 두 PDF 문서를 참조하자.

SAS로 단 한번에 될 것 같지만, 그렇지는 않고, 깔금하게 바꾸려면

약간 복잡하다.   

SHAPING DATA LONG TO WIDE (sas.com)

Making Long Data Wide with a Flexible Macro (sas.com)

3. 실용적인 예시 

SAS를 일상적으로 사용하고 있다면 그렇게 어렵지 않을 수 있지만

대부분의 분석을 R이나 STATA , 혹은 Python으로 하고 있다면 

SAS를 쓸 일이 별로 없고, 그런 경우 Array 문 사용이 아주 쉽지는 않을 것이다. 

그래서 그런지 아래 사이트 같은 경우에는 그냥 변수 하나 하나씩 각각의 데이터들을

만들고, 그냥 merge 하는 방식으로 소개를 하고 있다. 

SAS가 익숙하지 않을 경우에, Array문을  공부해서 변환하는 것이 덜 귀찮을 것이냐,

아니면, 이렇게 노가다를 하는 것이 덜 귀찮을 것이냐를 선택하면 되겠다. 

PROC TRANSPOSE- Reshape table Long to Wide; Wide to Long - DataScience Made Simple

 

PROC TRANSPOSE- Reshape table Long to Wide; Wide to Long - DataScience Made Simple

To reshape table from Long to wide and from wide to long in SAS we will be using PROC TRANSPOSE. PROC TRANSPOSE statement in SAS is explained example.

www.datasciencemadesimple.com