본문 바로가기

분류 전체보기163

[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 sql left join(왼쪽 테이블 기준 결합) 방법 sas에서 proc sql문을 이용해서 데이터를 결합하는 방법들을 알아보자. sas proc sql left join(왼쪽 테이블 기준 결합) 방법 - 두개의 데이터셋에 조인키의 같은 값이 있는 경우 왼쪽 테이블을 기준으로 매치시켜 합치기 [sas proc sql left join 문장구조 설명] [sas proc sql left join 예제 설명] [쉽게 코딩을 알아보자] proc sql; create table 결과데이터셋 as select 임의의명.*(모든변수사용), 임의의명2.*(모든변수사용) from 합칠데이터1 as 임의의명 left join 합칠데이터2 as 임의의명2 on 임의의명.합칠데이터1의 조인키변수=임의의명2.합칠데이터2의 조인키변수; run; www.sasbigdata.com 김진휘 2014. 3. 14.
[SAS] sas proc sql inner join(교집합) 방법 sas에서 proc sql문을 이용해서 데이터를 결합하는 방법들을 알아보자. sas proc sql inner join(교집합) 방법 - 두개의 데이터셋에 조인키의 같은 값만 있는 경우 합치기 [sas proc sql 교집합 inner join 문장구조 설명] [sas proc sql 교집합 inner join 예제 설명] [쉽게 코딩을 알아보자] proc sql; create table 결과데이터셋 as select 임의의명.*(모든변수사용), 임의의명2.*(모든변수사용) from 합칠데이터1 as 임의의명, 합칠데이터2 as 임의의명2 where 임의의명.합칠데이터1의 조인키변수=임의의명2.합칠데이터2의 조인키변수; run; sasbigdata.com 김진휘 2014. 3. 14.
[SAS] sas proc sql과 proc sort 두 방법으로 merge할 경우 처리 속도 비교 sas를 이용하여 필요한 데이터를 구축하기 위해서 데이터 병합 작업을 많이 하게 된다. 쉽게 말해 sas로 데이터를 붙이고 짜르고 하는 작업이 빈번하게 발생한다는 말이다. 데이터 가로 병합(merge)을 흔하게 사용하는데 데이터가 작을 경우에는 어떤 병합 방법을 사용해도 처리시간이 거의 차이가 없지만, 데이터가 크면 클수록 시간이 오래 걸리기 때문에 처리시간을 단축시키는 방법을 찾게 된다. sas에서 full join merge를 한다는 기준으로 두가지 방법(proc sql문, proc sort문)을 보고 어떤 것이 처리시간이 빠른지를 알아보도록 하자. 당연히 같은 결과를 출력하는데 여러가지 방법이 있다면 빠르게 처리 할수 있는 방법을 아는 것이 실무에 많은 도움이 될 것이다. 위의 사진에서 두가지 방법.. 2014. 3. 12.
[BIGDATA] 국민건강보험공단(건보공단) 공공 빅데이터(bigdata) 활용한 공익 서비스 제공 3월이라 국민건강보험공단 채용도 있고, 건보공단이 자주 눈에 띈다. 통계직 채용은 항상 느끼는 거지만 필요하다고 난리면서 매우 적은 인원을 뽑는다. 이전 정부 3.0 공공빅데이터 컨퍼런스와 의료산업 빅데이터 포럼에 참석하였는데, 국민건강보험공단의 빅데이터 활용을 통한 공익 서비스에 대해서 한번 쉽게 알아보자. 정부 3.0과 통계의 역할에서 정부는 국가 이하 공공기관이 가지고 있는 빅데이터(bigdata)를 활용에 대해 중점을 두고 있다. 그러므로 공공기관은 각자 기관마다 보유하고 있는 빅데이터를 어떻게 활용할 것인지에 대해 정부 시책에 부응하고자 빠르게 움직이고 있다. 정부3.0과 통계의 역할 컨퍼런스 참조 http://sasbigdata.com/36 의료보건업계가 치료중심에서 예방건강관리 중심의 서비스.. 2014. 3. 6.
[SAS] sas infile에 대해서 알아보기(옵션 등) sas에서 외부 데이터를 가지고 올때 infile 문을 사용하는데 거의 공식처럼 따라다니는 옵션들도 많고, 그것들이 무엇을 의미하는지에 대해 자세히 모르고 사용하는 사람들이 많다. sas infile의 각종 옵션들과 세부사항에 대해서 알아보도록 하자. 아래의 사진은 예제로 코딩을 한 것이다. %let _EFIERR_ =0; 시스템 변수의 초기화 오류가 발생했을시 자동으로 스탑시키는 명령 delimiter='구분자' 또는 dlm='구분자' 원시데이터에서 변수 별로 구분을 하게 하는 것을 설정하는 곳이다. 일반적으로 가장 많이 사용하는 것이 탭(tab)또는 comma(,) 이다. tab문자가 구분자일 경우에는 expandtabs 콤마가 구분자일 경우 dlm=',' dlm은 delimiter의 약자로 둘다 같.. 2014. 3. 5.
[SAS] sas에서 텍스트 파일 불러오기(infile문 이용, 에러 해결하기) 빅데이터(bigdata)를 다룰때 원시데이터가 엑셀(excel) 파일인 경우가 거의 없다. 이유는 엑셀 파일의 행(관측치)의 개수가 한계가 있기 때문이다. 엑셀 97-2003 통합문서인 경우 행은 총 65,536, 엑셀2007인 경우 행은 총 1,048,576 그렇기 때문에 텍스트 파일을 많이 가져오는 경우가 대부분이다. sas를 이용해서 텍스트 파일을 가져오는 방법을 알아보자. 일반적으로 간단하게 가져오는 경우가 [파일]-[데이터 가져오기] 를 통하여 또는 proc import를 이용하여 텍스트 파일을 가져오는데 정상적으로 가져와진다면 문제가 없다. 하지만 많은 경우가 불러오는 도중 다양한 에러들이 생기는 경우가 많다. 에러를 해결하는 몇몇의 경우에 대해서 알아보자. 1. [파일]-[데이터가져오기]를 .. 2014. 3. 5.
[SAS] sas merge 가로병합 끝장내기(full, left, right, inner join방법 소개) sas에서 데이터 핸들링을 하면서 데이터들을 붙이고 나누고 하는 작업들을 자주 하게 된다. 가장 많이 사용되는 것이 세로병합인 set 구문과 가로병합 merge인데 오늘은 merge 사용법에 대해서 알아보도록 하자. 사진을 보고 이해하면 아주 쉽게 이해 할 수 있을 것이다. 아래 사진에 m이라는 데이터셋과 m1이라는 데이터셋이 있는데 변수 key를 가지고 merge(가로병합)를 해보자. (아래사진참조) 1. 두 데이터를 조인시킬 변수를 proc sort를 통해 정렬한다. 예제에서는 key변수를 정렬한다.(아래사진참조) 2. full join merge 방법 (아래사진참조) 풀조인 말그대로 조건 없이 통째로 가로로 붙여버리는 거다. 3. left join merge 방법(아래사진참조) 한마디로 두개의 데이.. 2014. 3. 4.
[SAS] sas proc freq 간단한 빈도표 및 출력 방법 noprint sas에서 데이터들의 빈도를 보고 싶을 경우 proc freq를 많이 사용한다. 출력창으로 보지 않고 새로운 데이터를 생성하여 보고 싶은 경우가 있는데 간단한 구문인데도 불구하고 아무 생각없이 output out= 을 사용하여 출력이 되지 않는다고 질문하는 분들이 많다. 예제를 통해 간단하게 알아보자. 사진참고 위의 사진을 보면 kk라는 데이터 셋에 a라는 변수가 하나가 있고 데이터는 총 11개 이다. 이 kk데이터 a변수의 빈도를 구하는 방법이다. 출력창으로 출력하지 않고, 새로운 데이터셋에 결과를 기록하고 싶을 경우에 proc freq에서 noprint 옵션을 사용하여 출력창으로 출력되는 것을 방지하고, table 변수명 뒤에 슬러시 / 를 사용한 후 out=출력결과를 저장할 데이터 셋명을 입력하면 .. 2014. 3. 4.
[SAS] sas proc sql 문장에 대해서 알아보자(문장구조, 조건식) sas proc sql 문장에 대해서 알아보자(문장구조, 조건식) proc sql에서 조건식에 대해서 자세히 알아보자. [문장구조] proc sql; create table 결과데이터 셋 명 as select 그룹변수명, sum (case when 조건식 ~~일때 then 조건식 ~~해라 else 아니면 조건식 해라 end) as 예명 from 입력 데이터셋 명 where 조건식 group by 그룹변수명 having 결과 데이터에 대한 조건식; quit; run; [예시] [코딩 설명] sp3라는 데이터셋을 생성하여 month변수를 생성한다. sum함수를 이용하여 sum이라는 변수를 만들어 값을 구하는데 조건은 month가 01일 경우 cost에 10을 더하고 아니면 그냥 cost값으로 계산한다. sp.. 2014. 2. 28.
[SAS] sas proc sql 문장에 대해서 알아보자(문장구조, 기술통계량) sas에서 proc sql 문장을 이용해서 기술통계량을 구하는 방법을 알아보고, 문장구조에 대해서도 알아보자. [문장구조] proc sql; create table 결과 데이터셋명 as select 그룹변수명, sum(변수명) as sum, count(변수명) as n, avg(변수명) as mean, max(변수명) as max, min(변수명) as min, std(변수명) as std from 입력 데이터셋명 where 입력 데이터에 대한 조건식 group by 그룹변수명 having 결과 데이터 조건식; quit; run; [예제] [예제 및 코딩 설명] month, id, cost라는 변수 세개를 가진 sp1이라는 데이터셋이 있다. create table sp2 → sp2라는 결과 데이터 셋을 .. 2014. 2. 28.
[SAS] SAS PROC EXPORT를 이용하여 SAS파일을 텍스트파일로 내보내기 대부분 대용량 빅데이터를 다룰시에 엑셀로 내보내는 것보다 텍스트파일 형식으로 내보내는 것을 선호한다. SAS파일을 텍스트 파일 형식으로 내보내는 방법을 알아보자. 클릭클릭을 통해 간단하게 내보내는 방법이 있으나 여러개의 파일을 내보낼 경우에는 PROC EXPORT 구문을 이용하는 것이 훨씬 효율적이다. [코딩과정] PROC EXPORT DATA= work.ace OUTFILE= "C:\Documents and Settings\pc\바탕 화면\ace.txt" DBMS=TAB REPLACE; RUN; [설명] 임시라이브러리인 work방에 있는 ace라는 sas파일을 ace라는 텍스트 파일로 내보내는 경우이다. (work라이브러리는 임시 라이브러리이기 때문에 생략이 가능하나 설명을 위해 그냥 넣었다.) 전체적.. 2014. 2. 28.