본문 바로가기

BigData74

[SAS] SAS 숫자 날짜 변환 input, put, format 이용방법 이번 데이터 작업 내용은 input과 put 그리고 format을 활용하여 아주 유용하게 활용할 수 있는 방법이다.가지고 있는 데이터가 숫자형 변수이면서 8자리인 생년월일을 가지고 있는 경우 이 숫자에 원하는 일수를 더하면 몇년 몇월 몇일이 나오는지가 궁금할 때 활용될수 있는 방법이다. 보건의료쪽에서 활용해 본다면 요양개시일이나 최초입원일자를 알고 있는 상황에서 재원일수 또는 입원일수 몇일을 더했을때 과연 요양종료일이나 최종퇴원일자를 구하고 싶을때 활용될수 있다. 일반적으로는 데이터에 요양종료일이라던지 퇴원일을 가지고 있겠지만 임의로 원하는 일수를 더하고 싶은 경우가 생길때 사용될수 있는 것이다. 이외에도 금융이나 보험또는 기념일 등 날짜에 원하는 일수를 추가해서 몇일이 되는지 다양하게 응용해서 사용할수.. 2018. 10. 15.
[SAS] 2개의 변수 조합 빈도구하기(앞뒤 변수 변경을 동일건으로 판단할 경우, 경우의 수) 변수 조합의 빈도를 구하는 경우의 질문이 많다. 항상 말하지만 통계분석은 책이나 인터넷 등 강의를 듣고 틀에 짜여진 분석 코드에 변수만 넣어서 돌리고 해석하면 문제가 되지 않는다. 문제는 그 분석용 데이터 정제과정은 누가 가르쳐주지도 않고 그 때 상황에 맞게 본인이 창의적으로 해결해야 하는 부분인 것이다. 이와 같은 작업이 능숙하게 단축되면 전체적인 통계작업이 매우 많이 단축된다. 이번 내용은 칼럼이 2개가 있는 상황에서 이 두가지 칼럼을 붙여서 조합의 빈도를 구하고 싶은데 추가 조건이 칼럼을 붙였을때 앞뒤칼럼의 순서를 바꾸어서 일치하는 건이 있으면 그것은 동일건으로 본다는 것이다. 내용 자체는 매우 단순하다. 칼럼 두개의 조합을 보는데 앞뒤 변경시 동일한게 있으면 동일건으로 보고 빈도를 구한다는 것이다.. 2017. 3. 23.
[EXCEL] 엑셀2007 함수 sumifs 조건합 구하는 방법 요즘은 엑셀보다는 SAS가 훨씬 작업하기 편해서 EXCEL을 예전만큼 사용하지 않는다. SAS로 작업한 뒤 결과를 엑셀로 출력해서 넘겨주는 정도? 하지만 대용량 데이터 작업을 하지 않거나 엑셀이상의 통계적 분석을 하지 않는 대부분의 사람들은 엑셀이 더 사용자가 이용하기 편하고 쉽기 때문에 많이 사용하는데 실무에서도 수많은 질문이 들어온다. 질문중 유용하게 쓰이는 조건에 만족하는 값에 대한 합을 구하는 함수인 sumifs에 대해서 쉽게 알아보자. EXCEL함수인 sumifs는 조건이 여러개가 있는 경우 여러조건을 동시에 만족하는 값에 대해 합을 구해주는 함수이다. 그림을 참조하자. 위와 같은 데이터가 있다. 첫번째 조건은 이름이 김진휘이고, 두번째 조건은 등번호가 77번이어야 한다. 그럼 이름이 김진휘이면.. 2014. 9. 23.
[SAS] sas에서 코딩방법에 따른 처리 속도의 차이(if문의 위치) sas로 빅데이터를 핸들링하면서 항상 답답하고 문제되는것이 처리속도 시간이다. 큰데이터를 다룰수록 속도와의 전쟁인데, 각자 자기만의 스타일로 다양하게 프로그래밍하지만 코딩을 가장 최적화 시키면, 데이터가 크면 클수록 처리속도 시간의 차이는 엄청나다. 아래의 간단한 예를 보고 data step에서 if문 코딩을 최적화하는 방법을 알아보도록 하자. 위의 두개의 데이터셋 생성의 조건은 다음과 같다. test 데이터셋의 department변수에서 기획부값만 가져오고 각각 사칙연산의 결과를 나타내는 변수를 생성하라. 위의 결과 처럼 코딩의 순서는 다르지만 결과는 같다. 하지만 만약 이 데이터가 예제와 달리 방대한 양의 데이터라면 이 두가지의 코딩 처리속도는 분명히 차이가 난다. 왼쪽의 코딩은 if문이 먼저 나타나.. 2014. 5. 16.
[BIGDATA] 빅데이터 구글 검색 방법 10가지 팁(google 검색 방법) 빅데이터(bigdata) 시대에 우리는 수많은 정보를 간단한 검색으로 찾아 볼수가 있다. 국내에서 가장 많이 사용하는 것이 네이버(naver)이고, 통계나 프로그래밍쪽은 다음(daum) 검색엔진을 많이 사용할 것이다. 하지만 전세계적으로 많이 사용하는 검색엔진은 구글(google)인데, 국내 이용자들은 구글을 어려워 하고 있다. 더 많은 정보를 간단한 팁을 포함한 검색어로 구글에서 정확한 정보를 찾는 방법들을 몇가지 알아보도록 하자. 1. 특정 단어와 문장이 꼭 들어가야 할 경우 - 큰 따옴표("")를 입력하면 반드시 포함된 결과만 검색된다. ex) "sasbigdata" 로 검색하면 sasbigdata라는 문구가 포함된 것만 검색된다. 2. 특정 단어는 제외하고 싶은 경우 - 단어1 한칸띄우고(spac.. 2014. 4. 28.
[SAS] sas에서 그룹별로 속하는 값 가로로 나열하는 방법(proc sort, proc transpose) sas를 이용하여 각 그룹별로 그룹에 속해있는 값들을 가로로 치환? 나열하는 방법을 알아보자. 데이터의 크기가 작은 경우에는 엑셀로 하는 것이 빠르지만 빅데이터(bigdata) 시대에 대용량 데이터에서 엑셀로 작업을 하는 것은 거의 불가능에 가깝다. sas를 사용해 간단하게 예제를 통해 알아보자. 위의 사진을 참고하자. 1. ace라는 데이터셋이 있다. 2. 그룹별로 어떤 데이터가 있는지를 먼저 알기 위해 proc sort를 통해 정렬을 한다. 사진의 왼쪽 하단처럼 데이터가 group별로 code값이 정렬이 된다. 3. 그럼 이 코드들을 우측으로 촤악~ 나열을 해야한다. 이때 사용되는 구문이 proc transpose이다. proc transpose 상세 내용은 아래의 주소를 클릭. http://sasb.. 2014. 3. 31.
[SAS] sas 변수결합 ||, substr 함수 sas에서 2개 이상의 변수 값을 합칠 때 사용되는 함수 || 와 문자형 변수 값의 일부분을 추출하는 substr 함수에 대해서 알아보자. 위의 사진 참조 관측값들을 결합할 때 ||를 사용하여 값을 붙이는데 예를 들어 변수 var1에 abc가 있고 var2에 초콜렛 이 있다고 가정하자 x=var1||var2 를 적용하면 x값은 abc초콜렛 이라는 값을 가지게 되는 것이다. 주의해야 될 점은 두개의 값을 결합하는 과정에서 공백이 생길 수가 있다는 것이다. 그렇기 때문에 깔끔하게 공백없이 데이터를 결합하고 싶을때 문자형 변수의 공백을 제거해주는 compress함수를 같이 많이 사용한다. substr은 문자형 변수값의 일부분을 추출하는데 사용된다. 수치형 자료일 경우는 아무것도 추출되지 않으며, 문자형으로 변.. 2014. 3. 17.
[SAS] sas proc step proc delete 프로시저로 데이터셋 삭제하는 방법 sas에서 proc delete를 이용하여 데이터셋을 삭제하는 방법을 알아보자. 그냥 탐색기에서 delete키를 이용하여 삭제해도 되고, 따로 라이브러리를 지정한 곳에 가서 sas dataset을 삭제해도 된다. 그래도 뭐 모르는거보다 아는게 좋은 거니깐 어려운 것도 아니고 간지나게 데이터셋을 확장편집기에서 구문을 이용해 지우는 것이다.ㅋㅋ 위의 사진을 참조하면 쉽게 이해 할 수 있듯이 proc delete data=지우고 싶은 데이터 셋; run; 을 실행하면 원하는 데이터셋을 간단하게 삭제 할 수가 있다. 만약 데이터셋이 많고, 데이터셋명이 거의 다 비슷비슷해서 찾아서 지우기 어려울 경우 proc delete를 이용해 클릭해가며 찾지 않고 쉽게 지울때 간혹 사용이 된다. sasbigdata.com 김진휘 2014. 3. 17.
[SAS] sas proc sql full join(합집합) 방법 sas에서 proc sql문을 이용해서 데이터를 결합하는 방법들을 알아보자. sas proc sql full join(합집합 결합) 방법 - 두개의 데이터셋에 조인키의 같은 값이 있는 경우 합집합으로 매치시켜 합치기 [sas proc sql full join 문장구조 설명] [sas proc sql full join 예제 설명] [쉽게 코딩을 알아보자] proc sql; create table 결과데이터셋 as select 임의의명.*(모든변수사용), 임의의명2.*(모든변수사용) from 합칠데이터1 as 임의의명 full join 합칠데이터2 as 임의의명2 on 임의의명.합칠데이터1의 조인키변수=임의의명2.합칠데이터2의 조인키변수; run; www.sasbigdata.com 김진휘 2014. 3. 14.
[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과 proc sort 두 방법으로 merge할 경우 처리 속도 비교 sas를 이용하여 필요한 데이터를 구축하기 위해서 데이터 병합 작업을 많이 하게 된다. 쉽게 말해 sas로 데이터를 붙이고 짜르고 하는 작업이 빈번하게 발생한다는 말이다. 데이터 가로 병합(merge)을 흔하게 사용하는데 데이터가 작을 경우에는 어떤 병합 방법을 사용해도 처리시간이 거의 차이가 없지만, 데이터가 크면 클수록 시간이 오래 걸리기 때문에 처리시간을 단축시키는 방법을 찾게 된다. sas에서 full join merge를 한다는 기준으로 두가지 방법(proc sql문, proc sort문)을 보고 어떤 것이 처리시간이 빠른지를 알아보도록 하자. 당연히 같은 결과를 출력하는데 여러가지 방법이 있다면 빠르게 처리 할수 있는 방법을 아는 것이 실무에 많은 도움이 될 것이다. 위의 사진에서 두가지 방법.. 2014. 3. 12.