본문 바로가기

SAS106

[SAS] SAS를 이용해 joinkey별 동일한 code의 갯수를 비교후 많은 것들만 출력 SAS를 이용해서 조인키별로 동일한 code값을 많이 가진 값만 데이터를 출력하는 방법이다. 바로 앞에 게시했던 데이터를 이용하며, 연결되어 코딩을 실시하였다. http://statsbigdata.com/13 코딩은 위의 게시글과 연결된다고 보면 된다. 위와 같은 데이터와 조건을 가지고 출력결과와 같이 데이터를 생성해 보고자 한다. 코딩을 해보자. 저번 게시글의 코딩에서 연결된 것이다. 이번 게시글에 관련된 코딩은 주석으로 표시한 두번째 데이터셋 관련 코드이다. 당연히 실행하기 위해서는 연결된 것이니 코딩은 전체적으로 다 입력해야하겠죠?? 위의 사진과 같이 조인키별 코드가 많은 것에 대한 각각의 값들을 출력해 보았다. statsbigdata.com 김진휘 2013. 11. 15.
[SAS] SAS를 이용해 조인키별로 그룹에 대해 값과 합계 구하기 SAS를 이용해서 조인키(joinkey)별로 코드의 갯수가 많은 것에 대한 값의 합계를 구해보자. 위와 같은 데이터가 주어진다면 오른쪽 출력결과와 같이 joinkey별로 동일한 code의 갯수를 비교후 많은 code에 대한 값(amt)의 합계를 출력해 보는 것이다. 위와 같이 코딩하면 스크린샷처럼 조인키별 코드값이 큰 것들에 대한 amt의 합계를 출력할 수 있다. statsbigdata.com 김진휘 2013. 11. 15.
[SAS] SAS를 이용해 두개의 데이터 비교후 큰 값과 그에 따르는 값들을 함께 출력하기 SAS를 이용해 두개의 데이터 비교후 큰 값과 그에 따르는 값들을 함께 출력하기 값을 가지는 두개의 변수를 비교해서 큰값과 그에 따르는 다른 변수들을 함께 출력하는 방법입니다. 위와 같이 가격을 비교해서 높은 값을 가지는 가격에 대한 품명과 종류를 함께 출력해봅시다. c변수와 c1을 비교하여 높은 값을 가지는 것을 선택하고 그에 따른 a,b 또는 a1,b1을 가격과 함께 출력하는 것입니다. 두 값 비교해서 큰 값 또는 작은 값을 출력하고 싶을 때 응용하여 사용할 수 있습니다. 김진휘 2013. 11. 14.
[SAS] SAS 그룹별로 가장 큰 값의 데이터만 출력하는 방법 SAS를 이용하여 그룹별로 가장 큰 값을 가진 데이터만 출력하는 방법입니다. 예제데이터로 해본다면 가게별로 가격이 가장 큰값을 가진 데이터만 출력해 보겠습니다. 이런 예제 및 코딩을 응용해 실무에서 그룹별 가장 큰 데이터를 추출할 때 요긴하게 사용될 것입니다. 데이터는 위와 같은 구조이며 결과는 위와 같이 각 그룹(가게)별 값(가격)이 가장 큰 데이터만 출력합니다. 위와 같이 따라하시면 결과가 나옵니다. 실무에서 그룹별 큰값을 추출하고 싶을때 응용해서 요긴하게 사용하시기 바랍니다. 김진휘 2013. 11. 14.
[SAS] SAS를 이용해 중복된 데이터만 추출하는 방법 SAS를 이용해 중복된 데이터만 추출하는 방법을 알아봅시다. 스샷 한장으로 이해할 수 있기를... hahahahaha 프로그램 코딩 data hwi; input j h; cards; 1 1 1 2 2 1 3 3 2 4 2 8 4 4 7 8 ; run; proc sort data=hwi; by j; run; data b; set hwi; by j; if first.j=1 then num=0; num+1; run; proc sort data=b; by j; run; proc means data=b noprint; by j; var num; output out=c(drop=_type_ _freq_) sum=ss; run; proc sort data=c; by j; run; proc sort data=hwi; .. 2013. 11. 13.
[SAS] substr 함수 [코딩] data a; input k$ j h$; cards; ss30 1 d66 jk30 1 d1 ok2 1 dd9 ss27 2 d67 ss 1 d3 ss 1 dd5 s 3 d67 ; run; data b; set a; if substr(k,1,1)='s' & substr(h,1,3) in('d66', 'd67'); run; [해석] a라는 데이터가 있다. a데이터의 k변수 관측치가 s로 시작되는 것중에 h변수 관측치가 d66, d67로 시작되는 것만 추출하여라. 함수 : substr 목적 : 부분 문자열을 추출하거나 문자 값을 대체 할 수 있다. if substr(k,1,1)='s' & substr(h,1,3) in('d66', 'd67'); - k변수의 1번째자리부터 1번째자리가 s인 값을 추출하며.. 2013. 10. 14.
[SAS] proc compare 데이터셋 비교하기 이렇게 a, b 두개의 데이터셋이 있다. 예제는 관측치가 작아서 눈으로 다르다는 것이 확인이 되지만 실무에서 쓰는 대용량의 데이터는 이렇게 확인하는 것이 어렵다. 오늘 알아볼 것은 두개의 데이터셋에 대한 차이를 proc compare을 사용해 확인해보는 것이다. proc compare →서로 같은지 다른지 확인이 안되는 두개의 데이터셋에 대한 차이를 비교해 볼 수 있다. 데이터셋 a와 b의 관측치의 수가 같을 경우 : 서로 다른 변수만 찾아 출력, 두 값을 비교해준다. 데이터셋 a의 관측치가 b의 관측치 보다 많은 경우 (a 관측치 수 > b 관측치 수) : 다른 관측치의 수를 출력. a와 b의 관측치의 수가 동일한 영역까지만 비교 데이터셋 a의 관측치가 b의 관측치 보다 적은 경우 (a 관측치 수 < .. 2013. 10. 14.
[SAS] SAS 프로그램 실행과 환경설정 (SAS 9.1) [ SAS 9.1 실행] 바탕화면에 설치된 SAS아이콘을 더블 클릭하여 SAS를 실행한다. 프로그램이 실행되면서 위와 같은 화면이 나타난다. [SAS 화면구성] SAS에서 거의 대부분 가장 많이 사용하는 창은 확장편집기 창, LOG 창, OUTPUT 창 이 세가지 창을 가지고 작업을 한다. 1. 확장편집기 창 SAS 프로그램을 작성하는 창으로 위와 같이 Coding 작업을 할 수 있는 공간을 확장편집기 창이라고 한다. 2. LOG 창 위의 그림은 코딩한 프로그램을 F3(프로그램 실행 단축키)을 눌러 실행 했을 때 프로그램 컴파일 과정 및 오류사항을 출력하는 화면이다. 이 화면을 LOG창이라고 한다. 작업한 코딩이 에러를 발생하는 경우 빨간색 글로 오류사항이 표시되고 초록색 글로 warning에 대하여 설.. 2013. 10. 14.
[My Story] 세상에서 가장 쉽게 빅데이터와 통계를 정복하는 블로그 개설! 빅데이터의 중요성을 매일 강조하는 이 세상 통계학문과 SAS 통계 패키지 프로그램들... 모두 어려워 하고 누구하나 초등학생들도 알아들을 만큼 쉽게 가르쳐 주는 사람이 없다. 무엇이 그리 어렵고, 진지하며 복잡한 것들인가? 결국 사람이 만들어내고, 이용하고, 말하는 것들 쉽게쉽게 빅데이터와 통계 그리고 SAS에 대해 함께 공부 해보자. 2013. 10. 14.
[SAS] proc surveyselect (SAS, 모집단에서 단순무작위추출로 표본 추출하기) 실무에서 모집단 데이터에서 표본을 적게는 몇개부터 많게는 수만개까지 데이터를 추출해 달라는 요구가 많다. sas공부를 하면서도 아~ 간단하게 모집단에서 몇개만 랜덤으로 추출하고 싶은데 sas에서 어떡하지? 라는 경우도 생기며, 난수를 생성해서 해야하나? 등 복잡해지기 마련이다. 하지만 간단하게 코딩 몇줄로 이런 경우를 해결하는 방법이 있다. 바로 그것은! proc surveyselect 복잡한 샘플링 방법을 sas 코딩 한 두줄로 끝내버리는 것이다. 예를 들어보자 기존 데이터(a)가 10000건인데 그중에서 1000건만 추출해서 분석을 하고 싶다. 1000건을 무작위 또는 여러 방법으로 추출하고 싶은데 어떻게 해야하나? 단순무작위 추출을 사용할 경우 proc surveyselect data=a metho.. 2013. 10. 14.