본문 바로가기

사스8

[SAS] SAS 숫자 날짜 변환 input, put, format 이용방법 이번 데이터 작업 내용은 input과 put 그리고 format을 활용하여 아주 유용하게 활용할 수 있는 방법이다.가지고 있는 데이터가 숫자형 변수이면서 8자리인 생년월일을 가지고 있는 경우 이 숫자에 원하는 일수를 더하면 몇년 몇월 몇일이 나오는지가 궁금할 때 활용될수 있는 방법이다. 보건의료쪽에서 활용해 본다면 요양개시일이나 최초입원일자를 알고 있는 상황에서 재원일수 또는 입원일수 몇일을 더했을때 과연 요양종료일이나 최종퇴원일자를 구하고 싶을때 활용될수 있다. 일반적으로는 데이터에 요양종료일이라던지 퇴원일을 가지고 있겠지만 임의로 원하는 일수를 더하고 싶은 경우가 생길때 사용될수 있는 것이다. 이외에도 금융이나 보험또는 기념일 등 날짜에 원하는 일수를 추가해서 몇일이 되는지 다양하게 응용해서 사용할수.. 2018. 10. 15.
[SAS] sas에서 그룹별 데이터수 지정후 표본추출시 데이터수 이하인 경우 모두 추출하는 옵션 오늘 알아볼 옵션은 9글자만 추가 입력하면 엄청난 노가다 작업을 한번에 해결 할 수 있는 유용한 옵션이다. 데이터에서 sas를 이용해 표본을 추출하는 경우에 proc surveyselect 라는 명령문을 사용한다. 몇건을 뽑을지 지정 할수도 있고, 그룹별로 몇건씩 혹은 비율을 이용하여 추출하는 등 여러가지 방법으로 추출할 수가 있는데 이해도를 높이고자 간단한 예를 통해서 알아보도록 하자. 먼저 대용량이든 저용량이든 임의의 규모의 데이터가 있다. 그룹별로 10건씩 데이터를 추출 할 것인데, 실무데이터에서는 여러가지 경우의 수가 생기고, 실제 한 그룹에 모집단 데이터가 10건이 안되는 경우도 있을 수가 있다. 예를 들어 그룹별로 단순무작위추출방법(SRS)을 이용해 10건씩 추출할 경우 코딩예시 proc so.. 2015. 3. 17.
[SAS] sas에서 left join시 join값(유니크값)이 두개이상 일치하는 경우 병합하는 방법 sas에서 left join시 join값(유니크값)이 두개이상 일치하는 경우 병합하는 방법에 대해서 알아보자. 간단히 설명하자면 데이터를 가로병합하는데 왼쪽 테이블 기준으로 하되 키값이 기존에는 하나였지만 키값이 2개가 일치하는 경우만 병합시키는 것이다. 그림을 통해 어떤 문제를 해결할 것인지 알아본다. test1 데이터셋과 test2 데이터셋을 test1데이터셋 기준(left join)으로 가로 병합을 하는데 k변수와 j변수가 둘다 일치하는 경우에만 가로병합을 실시하는 것이다. 그럼 결과는 맨 오른쪽 그림과 같이 check가 붙으면서 병합이 되어야한다. [코딩과정] [예제 데이터생성] data test1; input k$ j$; cards; A T A A C B H S ; run; data test2;.. 2014. 5. 30.
[SAS] sas에서 full join 하기 (합집합 개념) sas에서 두개의 데이터셋을 full join하는 방법에 대해서 알아보자.(합집합 개념) 합집합에서는 좌 우측 데이터들의 일치 유무를 따지지 않고 모두 붙이는 개념인데 합치는 과정중 공백이 있다면 null값으로 처리한다. 위의 그림처럼 hwi1이라는 데이터 셋과 hwi2 데이터 셋의 합집합개념(초록색 부분)이라고 보면 된다. 1. data step 위의 사진은 data step을 사용하는 방법이다. proc sort과정을 하여 단순하게 merge시키면 위와 같이 원하는 합집합 개념의 결과가 도출된다. 2. proc sql(full join 사용) proc sql에서 full join명령어를 사용하는 방법이다. 자세히 보면 key변수의 555값이 없는 것을 볼 수 있다. 이것은 full join이 될때 기.. 2014. 4. 16.
[SAS] sas에서 inner join 하기 (교집합 개념) SAS에서 두개의 데이터셋을 합치는데 공통된 부분을 가로결합하는 방법을 알아보자. 쉽게 말하면 아래의 그림과 같이 초록색 부분인 교집합 부분을 출력하는 것이다. 위의 사진은 예제 데이터인 hwi1데이터셋과 hwi2데이터셋의 교집합 부분(초록색)을 출력하겠다는 그림이다. 1. data step 빅데이터에서는 proc sort과정의 처리속도 문제로 sql을 많이 사용하지만 일반적으로 많이 사용하는 데이터스텝에서 inner join(교집합)을 하는 과정을 알아보자. key값이 같은 데이터를 출력한다. join할 2개의 데이터셋의 기준이 되는 변수 key변수를 먼저 proc sort로 정렬을 한뒤 merge(가로병합)를 한다. 조건은 key기준으로 in의 a와 b가 같은 경우 교집한인 경우를 설정하면 위와 같이.. 2014. 4. 16.
[SAS] sas proc sql right join(오른쪽 테이블 기준 결합) 방법 sas에서 proc sql문을 이용해서 데이터를 결합하는 방법들을 알아보자. sas proc sql right join(오른쪽 테이블 기준 결합) 방법 - 두개의 데이터셋에 조인키의 같은 값이 있는 경우 오른쪽 테이블을 기준으로 매치시켜 합치기 [sas proc sql right join 문장구조 설명] [sas proc sql right join 예제 설명] [쉽게 코딩을 알아보자] proc sql; create table 결과데이터셋 as select 임의의명.name1변수, 임의의명. score1변수, 임의의명2.*(모든변수사용) from 합칠데이터1 as 임의의명 right join 합칠데이터2 as 임의의명2 on 임의의명.합칠데이터1의 조인키변수=임의의명2.합칠데이터2의 조인키변수; run; .. 2014. 3. 14.
[SAS] SAS proc means sas에서 가장 많이 사용하는 구문중에 하나가 proc means이다. 자주 사용하는 구문이지만 할 때 마다 헷갈리고, 많은 기능들이 있는데 모두 활용하지 못하는 경우가 대부분이다. proc means에 대해서 자세히 알아 보자. proc means는 수치형 변수에 대해 여러 기술통계량(Descriptive statistics)을 계산해주고 출력해 준다. 전체 변수 또는 특정한 변수값에 따라 그룹으로 나누어 기술통계량 계산이 가능하다. by문장을 사용하면 그룹별로 독립적인 통계량 계산이 되며, 여기서 다시 class문장을 이용하여 세부 그룹으로 나눌 수 있다. proc means는 - 적률(moments)에 바탕을 둔 기술통계량을 계산하여 준다. - 중위수(median)를 포함한 사분위수를 구하여 준다... 2014. 2. 13.
[SAS] SAS 함수 (삼각함수) SAS의 삼각함수를 이용하여 값을 계산 할 수 있다. argument의 단위는 라디안(Radian) 삼각함수 설명 SIN(argument) 사인 함수 값을 계산 COS(argument) 코사인 함수 값을 계산 TAN(argument) 탄젠트 함수 값을 계산 ARSIN(argument) ARCOS(argument) ATAN(argument) 각각의 역삼각 함수값을 계산 argument는 (-1,1)사이의 값을 가짐 SINH(argument) COSH(argument) TANH(argument) 쌍곡 삼각 함수 값을 계산 SAS 산술함수 참조 http://sasbigdata.com/52 SAS 통계 및 확률분포 함수 참조 http://sasbigdata.com/54 SAS 난수함수 참조 http://sasb.. 2014. 2. 4.