본문 바로가기

SAS배우기12

[SAS] sas에서 두개의 데이터셋 left join후 우측데이터 부분 모두 제거방법 sas에서 두개의 데이터셋 left join후 우측데이터 부분 모두 제거하는 방법을 알아보자. 글로써는 잘 이해가 되지 않으므로 아래의 그림을 통해 어떻게 조인할 것인지 확인하자. 위 그림처럼 hwi1 데이터셋과 hwi2 데이터셋을 left join을 하는데 hwi2에 해당하는 데이터셋은 제거하고 hwi1의 데이터만 추출하는 것이다. 그림처럼 hwi1과 hwi2의 공통되는 부분또한 hwi2에도 포함되므로 제거가 된다. hwi1의 단독데이터만 추출한다고 보면 될 것 같다. data step구문과 sql구문 두가지 방법을 사용해서 코딩을 해보자. 아래의 코딩 사진 처럼 data step과 sql코딩을 따라가면 우리가 원하는 결과를 추출할 수가 있다. 당연히 구문만 다를 뿐 결과는 같은 결과를 추출한다. [코.. 2014. 5. 12.
[SAS] SAS 국제 공인 자격증 취득에 대해서 SAS에도 역시나 자격증이란게 존재합니다. SAS 국제자격증의 종류에 대해서 사진으로 간단하게 알아봅시다. [ SAS 국제자격증의 종류 ] SAS 국제자격증 종류는 여러 종류가 있는데 일반적으로 가장 먼저 취득하는 자격증이 SAS Foundation의 SCBP - SAS Certified Base Programmer for SAS 9 그냥 편하게 sas base자격이라고 하는데 통계학 전공자나 데이터관련 전공자들은 많이 도전하는 자격이다. 나또한 SCBP는 대학시절 국제자격증의 로망으로 인해 취득하였다. 딱히 큰 메리트는 없는 듯 싶다... 그다음 연계해서 도전하는 것이 SCAP - SAS Certified Advanced Programmer for SAS 9 이것 또한 그냥 sas advanced라고 .. 2013. 11. 19.
[SAS] SAS를 이용해 데이터 중복제거하기 proc sql 사용 SAS데이터를 핸들링 하면서 가장 많이 하는 작업중 하나가 중복제거 작업입니다. 보통 가장 일반적으로 사용하는 것이 proc sort에서 nodupkey를 옵션으로 걸어서 사용을 많이합니다. 그렇다면 중복제거가 proc sort의 nodupkey만 있는 것이냐? 아니다! proc sql의 distinct문이 있다. 그런데 왜 두개가 따로 있는것인가? 뭐 따지고 보자면 중간의 정렬과정인 sorting작업이 sql에서는 해줄 필요가 없기때문에 sql문에 아마도 대용량 데이터에서는 더 빠른 처리 결과를 낼 것이다. 그럼 proc sql의 distinct를 이용하여 데이터의 중복제거를 하는 방법을 알아보자. 아래와 같이 중복이 있는 데이터 셋을 생성하였다. 위의 5개변수와 10개의 관측치를 가진 데이터를 이용하.. 2013. 11. 18.
[BIGDATA] bigdata(빅데이터)의 정의 3V, 4V, 5V에 대하여 Bigdata(빅데이터)라는 신조어가 생기면서 Bigdata를 어떻게 정의를 할 것이냐를 두고 말이 많다. 가장 처음 나온게 3V - volume(양), variety(다양성), velocity(속도) 라고 대부분 정의하였다. 하지만 시간이 흐르면서 추가되기 시작하였고... 지금은 5V까지 나와서 말이 많다. 간단하게 흐름을 알아보자. 위의 구조처럼 처음 3V를 시작으로 4V 그리고 지금 5V까지 Bigdata의 정의에 대해 말이 나오고 있다. 4V에서 Veracity(진실성, 정확성)를 추가한 경우와 Value(가치)를 추가한 두가지 경우가 대립하게 되었고, 결국에는 이 모든 것을 포함해 5V가 나오게 된 것이다. IBM에서는 Veracity를 추가해 4V로 bigdata(빅데이터)를 설명하고 있다. .. 2013. 11. 18.
[SAS] SAS를 이용해 두개의 데이터셋의 변수들이 일치하는 기준으로 merge해서 붙이기 SAS를 이용해 두개의 데이터셋의 변수들이 일치하는 기준으로 merge해서 붙이기 이게 무슨 말인가? 두개의 데이터셋이 있는데 변수들의 값이 일치하는 것끼리 붙여버리는 것입니다. 말로 설명하는데는 한계가 있으니 사진을 참고 하시기 바랍니다. ex1과 ex2라는 두개의 데이터 셋이 있습니다. 같은 변수도 있고 다른 변수들도 있는데~ key와 name이라는 변수들이 일치하는 기준으로 두개의 데이터셋을 하나로 합치는 것입니다. ex3을 보시면 제대로 붙었다는 것을 확인 할 수가 있습니다. sort와 merge는 자주 사용하는 것이니 잘 알아두시면 유용하게 쓰일거라 생각됩니다. 2013. 11. 15.
[My Story] SAS와 커뮤니케이션 스킬 SAS에 대한 글을 작성 할 때 마다 항상 고민이 됩니다. 주어진 데이터에 대해 설명을 하고 거기에 대한 코딩 해석과 정보에 대해 전달을 하고 싶지만 이 모든 것을 그림과 텍스트를 통해서 전달하려니 이만 저만 어려운 것이 아닙니다. 업무를 진행하면서도 통계와 SAS에 대해 잘 모르는 사람과 일을 할 시에 상대가 요구하는 것이 무엇인지 정확하게 파악하는 것이 중요한데 상대도 SAS의 구조에 대해 잘 모르니 이렇게? 저렇게?해서 해달라고 요청을 하지만 중간에 말 한마디 전달이 잘못되면 작업을 다시 해야되는 경우가 많습니다. 그만큼 커뮤니케이션 스킬이 중요한 것 같습니다. 지금은 이 블로그도 시작단계이기 때문에 제가 전달하고자 하는 정보가 100% 전달되지는 않을 것입니다. 앞으로 지속적으로 발전하여 SAS,.. 2013. 11. 15.
[SAS] SAS를 이용해 joinkey별로 code에 중복자료가 있을시 모두 출력하기 SAS를 이용해서 joinkey별로 code에 중복자료가 있을 경우 중복된 값 뿐만 아닌 중복값에 해당하는 joinkey데이터를 모두 불러오는 방법을 알아 보도록 하겠습니다. 위의 사진과 같이 데이터가 조인키별로 코드가 있는 데이터가 있습니다. 만약 조인키별 코드가 중복값이 있을 경우 그에 해당하는 조인키에 대한 관측치 모두를 출력해 보도록 하겠습니다. 위와 같이 sas 코딩 후 실행을 시키면 코드중복이 있는 조인키에 대한 모든 값들을 출력할 수가 있습니다. 조인키 3과 4는 코드가 중복된 것이 없기에 출력이 되지 않습니다. statsbigdata.com 김진휘 2013. 11. 15.
[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 9.1) [ SAS 9.1 실행] 바탕화면에 설치된 SAS아이콘을 더블 클릭하여 SAS를 실행한다. 프로그램이 실행되면서 위와 같은 화면이 나타난다. [SAS 화면구성] SAS에서 거의 대부분 가장 많이 사용하는 창은 확장편집기 창, LOG 창, OUTPUT 창 이 세가지 창을 가지고 작업을 한다. 1. 확장편집기 창 SAS 프로그램을 작성하는 창으로 위와 같이 Coding 작업을 할 수 있는 공간을 확장편집기 창이라고 한다. 2. LOG 창 위의 그림은 코딩한 프로그램을 F3(프로그램 실행 단축키)을 눌러 실행 했을 때 프로그램 컴파일 과정 및 오류사항을 출력하는 화면이다. 이 화면을 LOG창이라고 한다. 작업한 코딩이 에러를 발생하는 경우 빨간색 글로 오류사항이 표시되고 초록색 글로 warning에 대하여 설.. 2013. 10. 14.