일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- FPT #베트남기업
- 스틱pc
- 딥페이크
- SAS 계산오류
- 토드부크홀츠
- 오블완
- 강의자료
- 얼굴합성앱추천
- r
- SAS에서 한글사용
- HDMI-DVI
- Deepfake
- SAS 날짜
- 웨카
- 사례기반추론
- 뉴스로 이해하는 베트남
- hdmi젠더
- SAS
- 일본 뜀틀 응원 기적 감동
- subset
- 책모음
- 베트남삼겹살
- 지방자치단체조합
- R 프로그래밍
- SAS 연산오류
- 기계학습
- 데이타마이닝 툴
- 티스토리챌린지
- 리더쉽
- 베트남 #자동차 #베트남자동차보급율
- Today
- Total
목록SAS (17)
지식노동자의 노트
가끔 SAS 프로그램은 정상 작동하는데 Log 가 전혀 찍히지 않을 때가 있습니다.프로그램을 실행시켰다가 강제중단 느낌표 버튼을 눌렀거나 control+break 를 사용했을 경우드물게 나타난다고 보고되어 있는데 현재는 원인을 모른다고 하는군요. 검색을 통해서 알게 된 사실인데 제가 직접 해 보니 효과가 있어서 알려드립니다.비슷한 경우에 사용해 보시기 바랍니다. 1) 사이즈가 큰 임의의 Data set을 골라서 proc export 를 사용 엑셀로 내보내기를 합니다.2) 프로그램 실행 중에 느낌표 버튼을 눌러서 proc export 를 취소 시킵니다.3) 다시 아무 프로그램이나 실행시키면 Log 가 정상 작동합니다. 설마 했는데 진짜 되더군요. 종료하고 다시 켜는 수고에서 해방되시기를. 원문은 여기에 :..
SAS 가 갑자기 비정상 종료되었는데 그 때까지 작성했던 프로그램을 저장하지 않았다면C:\Users\사용자아이디\AppData\Roaming\SAS\EnhancedEditor 여기에서 찾아보시기 바랍니다.자동저장된 Backup file 이 큰 도움이 될 겁니다.단, SAS를 정상종료한 경우는 자동 삭제됩니다.
고객분석업무를 하는 경우 드물게 고객의 주민등록번호 유효성 검증을 할 필요가 생깁니다. 정제된 정보만 저장된다면 좋겠지만 실명확인이 여의치 않은 채널을 거친 경우 이상치들이 들어 있을 수 밖에 없습니다. 이 때 주민등록번호의 생성원리를 이용해서 역으로 그 유효성을 검증할 수 있을텐데요, 아래와 같은 Query를 생각해 볼 수 있겠습니다. 주민등록번호가 SSNUM, 문자형 칼럼이라고 생각합시다. 검증원리는 '주민등록번호 검증원리'로 검색해 보시면 무수히 많은 페이지에서 잘 설명하고 있기 때문에 생략하겠습니다. Where문에서 translate함수를 사용한 이유는 0~9 이외의 값이 들어있는 관측치를 제외하기 위해섭니다. PROCSQL;CONNECTTO ODBC(DSN="DSNAME" USER=USER_ID..
입력변수 : 문자열반환 : 문자열의 결합 CATS용법1 : 문자형 변수를 합칠 때결합문자열 = cats(변수1,변수2,.....,변수n); CATS용법2 : 문자열을 직접 입력해서 합칠 때결합문자열 = cats('문자군','문자야','문자네'); CATX용법1 : 문자형 변수를 구분자로 합칠 때결합문자열 = catx('구분자',변수2,....,변수n); CATX용법2 : 문자열을 직접 입력해서 구분자로 합칠 때결합문자열 = catx('구분자','문자군','문자야'); 1. Test Set 만들기 data test; input 도 $ 군 $ 면 $ 리 $;datalines;경상남도 함양군 마천면 구양리소주도 독하군 마시면 취하리;run; 엑셀에 concatenate함수가 있다면 SAS에는 cats와 cat..
이번에는 SAS에서 날짜값을 어떻게 만들 수 있는지에 대해서 얘기 해 보겠습니다. 1. 외부데이타로부터 Informats을 사용해서 생성 2. 기존 날짜값 SAS 변수를 변형해서 생성3. 숫자나 문자로부터 SAS 날짜 함수를 사용해서 생성 SAS에서 날짜 변수를 만들어 내는 상황은 크게 위 3가지 상황으로 나누어 볼 수 있습니다. 그럼 각각 어떤 경우인지 알아보죠. 1. 외부데이타로부터 Informats을 사용해서 생성 사실 처음부터 제대로된 날짜변수를 생성한다는 의미에서 이 단계가 가장 중요합니다. 외부에서 값을 읽을 때, 처음부터 날짜를 날짜로 읽어들이지 못하고 문자나 숫자로 읽어 들이기 때문에 나중에 이것을 억지로 연산하려고 하다 보면 무수한 형변환을 거치고도 어이 없는 결과가 나오는 수가 허다합니..
많은 분들이 SAS를 사용해서 회사 DB에 직접 접근을 하고 계실 겁니다. SAS를 사용해서 DB에 접근하는 방법은 크게 3가지 유형이 있습니다. 1. 가장 많이 사용하는 방법입니다. proc sql;connect to odbc(dsn="DB" user=ID pass=PW); create table TABLE2 as select * from connection to odbc(select *from TABLE1 );disconnect from odbc;quit; 2. libname문을 사용하여 DB를 library로 만든 후 library에 SQL로 접근하는 방법libname _DBLIB odbc dsn='DB' user=ID pw=PW;proc sql; create table TABLE2 asselect..
지난번에 이어 SAS data의 중복 관측치에 관한 얘기를 하겠습니다. proc sort의 nodupkey option도 좋은 방법이지만 SQL의 DISTINCT 문도 좋은 대안입니다. 늘 그렇듯이 예제 DATA를 생성하는 것으로 시작해 보겠습니다. data dup_yes; input 학번 $ 이름 $ 주거지 $ 최종거주일자 $; datalines;971214 김말순 서울 20120508971215 김초롱 부산 20110805971215 김초롱 서울 20120106971215 김사랑 대전 20120508971215 김사랑 대전 20120508971215 김사랑 대전 20120508;run; 위 코드로 부터 다양한 중복사례가 포함된 셋을 생성했습니다. 이제 SQL을 사용해서 '학번'칼럼에서 중복없이 유일한..
권장할 만한 일도 아니고 자주 쓰는 일은 아닙니다만 가끔 변수명을 한글로 지정할 일이 있습니다. 보통 변수명은 영문으로 해야 하고 꼭 한글을 써서 식별을 쉽게 하고 싶다면 라벨에 한글을 씁니다. 하지만 Proc Export 를 사용해서 Excel에 내보내기를 하는 경우에는 라벨명으로 내보낼 수가 없어서 불편할 수가 있죠. 이럴 때는 시스템 옵션 중에서 validvarname = any 를 사용합니다. 1. 시스템 옵션사용해서 한글변수명 사용하기 예제 데이타셋을 생성하는 것으로 시작 해 보겠습니다. 아래와 같이 입력하시 실행하시면 됩니다. options validvarname = any; data var_Korean; input var1 var2 한글변수1 한글변수2; label var1 = "영어변수1"..
SAS의 연산 오류, 그것도 더하기 빼기를 틀린다면 믿으시겠습니까? 이번에는 좀 근본적인 문제를 짚고 넘어 가겠습니다. 꼭 SAS에만 국한된 문제는 아니지만 어쨌든 SAS를 사용하시면서 간단한 사칙연산을 많이 해 오셨을걸로 믿습니다. 그런데 SAS가 산수를 제대로 못하는 경우를 보신적 있으신가요? 무슨소리냐구요? 맞습니다. SAS가 계산을 틀릴(?) 수 있다는 얘깁니다. 그럼 이걸 어떻게 믿고 쓰냐구요? 원인을 알고 같은 문제가 발생하지 않도록 조치해야겠죠. 예를 들어 문제를 풀어 보겠습니다. data strange; a = 0.3; b = 3 * 0.1; if 0 = a - b then c = "a와b는 같다"; else c = "a와b는 다름"; run; a에는 0.3 , b에도 0.3이 들어가 있는..
이번에는 SAS의 중복 관측치에 대한 얘기를 해 보려고 합니다. 중복은 크게 2가지로 나눠 볼 수 있겠습니다. 특정 칼럼값 한 개 또는 여러 개가 같은 경우와 모든 칼럼값이 같은, 즉 관측치 또는 레코드의 중복으로 구분해 볼 수 있겠죠. 하지만 레코드의 중복이란 결국 칼럼값 중복의 확장형태로 이해하시면 될 것 같습니다. 위 그림1을 잘 관찰해 보시죠 학번 칼럼에는 971215라는 값이 무수히 중복되어 있습니다. 이름에는 '김초롱', '김사랑' 이 중복되어 있네요. 두 사람은 학번이 같은걸로 보아 개명을 한 것 같습니다. 주거지 정보를 보면 김말순은 서울에서 2012년5월8일까지 최종 거주하여 기록이 하나 뿐이고 김초롱은 부산에서 서울로, 서울에서 대전으로 이사를 다닌 것 같습니다. 그리고 최종적으로 대전..