본문 바로가기

MySTATA/활용팁

(12)
가구 내 배우자 찾기(고급 매칭) hid==100인 가구에 52세 여자(3번 관측치)의 남성 배우자 후보는 1번(53세), 2번(32세), 5번(57세)임. hid==200인 가구에 54세 여자(6번 관측치)의 남성 배우자 후보는 7번(64세), 8번(60세), 9번(50세)임. 나이 차이가 가장 적은 남성을 배우자로 식별하고, 동일한 가족 아이디(fid)를 부여하고자 함 즉, hid==100인 가구에서는 3번 관측치와 1번 관측치, hid==200인 가구에서는 6번 관측치와 9번 관측치 1단계: 가구 내 배우자가 있는 남자와 여자의 순번을 정의 // 배우자 있는 여자|남자의 수와 순서 gen byte sp1 = 1 if gtype==92 & gend==1 & wed_sta==2 by hid,sort: gen sp1n=sum(sp1) i..
날짜다루기 I * 오늘은 STATA에서 날짜를 다루어 본다. 대부분의 통계프로그램은 각 날짜에 대해 고유의 상수를 정의하고 사용한다. * 이때, STATA에서는 1960년 1월을 '0'으로 정의한다. 즉, 1960년 2월은 2, 1961년 1월은 12가 된다. * 아래의 행렬은 국민연금 수급자에게 지급하는 부양가족 연금액과 적용기간을 입력하는 내용이다. * 1열: 적용 시작연도, 2열은 적용시작 월* 3열: 적용 끝 연도, 4열은 적용 끝 월* 5열: 피부양자가 배우자인 경우 지급하는 연간 부양가족 연금액* 6열: 피부양자가 자녀 혹은 부모인 경우 지급하는 연간 부양가족 연금액 clear mat DepMat = (1988,1,1990,3,60000,36000 /**/ \1990,4,1992,3,67920,40750 /..
데이터 혹은 do 파일을 유니코드로 일괄 변환 stata 14 정품을 사면 유니코드로 변경하기 위한 기본적인 코드문을 준다...그 내용은 다음과 같다. /* 이번 STATA 버전 14에서는 변수명도 한글을 지원합니다. (모든 유니코드 지원)그러다 보니 버전 14에서 사용할 때 과거에 작성된 파일을 불러들일 때 변수 라벨(Variable Label) 및 값 라벨(Value Label)에한글이 포함되어 있을 경우 파일을 열었을 때 깨진 상태로 보입니다.이 부분은 버그가 아니고 버전 14부터 지원하는 유니코드 때문에 그렇습니다.그때는 커맨드 창에 다음과 같은 입력과정을 거치면 제대로 변환되어 집니다. clearunicode encoding set koreanunicode translate 파일명, invalid */ // cd "E:\DOSA\10 Ext..
불균형 패널을 균형패널로 만들기 * 다음과 같은 자료가 있습니다.// 1~5까지의 값을 갖는 old_Act의 경우 일부 집단에서 특정 값이 빠진 경우. fillin gend agez old_Act // 빠진 것을 채우고 // 문제는 새롭게 생성한 관측치에 특정 값을 넣어야 함 // old_Act 값에 따라, 그 값이 포함된 변수에만 1을 넣고 다른 경우에는 0을 넣어봅니다. replace _fillin = old_Act if _fillin == 1 forvalues ii = 1(1)5 { replace trate`ii' = (_fillin == `ii') if trate`ii' == . } // 이렇게 한 줄을 줄여도 되겠죠...^^~ forvalues ii = 1(1)5 { replace trate`ii' = (old_Act == `..
inlist 그리고 inrange // 일정 범위 혹은 특정 값들의 목록을 조건 걸기* inrange 와 inlist // 많은 사람들이 이렇게 쓰지요?!명령구문 if var_a >= 1 & var_a
pdf 문자 인식(OCR) STATA와는 관련이 없지만.... acrobat을 이용하면 대부분 pdf문서의 문자들을 인식하여(OCR기능), 한글, 워드 및 엑셀에서 유용하게 사용할 수 있다. 그러나, 종종 렌더링(rendering)문제가 생겨 문자를 인식하지 못하는 경우가 있다. 이때, 해결방법은 두 가지가 같다. 첫째,1) pdf문서 인쇄 시 프린터를 microsoft XPS document writer로 인쇄해서 xps문서 만들기2) xps문서를 pdf로 전환3) 전환된 pdf문서에서 OCR 기능 실행하면 ~~ 끝!! 둘째,1) pdf문서를 다른 이름으로 저장할 때, 그 형식으로 tif 혹은 tiff로 저장2) 페이지별로 생성된 그림파일들을 pdf문서로 결합3)결합된 pdf문서에서 OCR 기능 실행하면 ~~끝!!(다른 그림 파..
폴더 안의 파일들을 일괄처리하기-기초 // 특정 폴더 안의 특정 혹은 모든 파일들의 목록을 구하거나 작업하고자 할때가 있죠....// 물론, 모든 사람들이 그런 것은 아니지만....^^; // 아래의 syntax는 "D:\myfolder"라는 폴더 안에 Final_ 로 시작하는 모든 파일들의 이름들을 datafilez라는 로컬변수에 담으라는 말입니다. local datafilez: dir "D:\myfolder\" files "Final_*.dta" , respectcase // dir 함수는 대소문자를 구분하지 못함. 그래서 respectcase이라는 옵션을 사용할 수 있습니다. di `"`datafiles'"' // 이건 그 결과를 보여달라는 것이고..... // 이 아래는 그 파일들을 모두 세로로 결합하라는 것입니다.clearforea..
인용부호가 있는 목록 처리: 값라벨 매크로 // 목록을 처리할때, 가장(?) 어려운 것이 아마도 인용부호가 있는 경우일 것입니다.// 이러한 경우가 발생하는 경우는 스타타에서 값라벨이 여기에 해당합니다. // 값라벨과 유사한 경우가 그래프의 레전드인데, 예전에 처리한 적이 있죠!!^^// 여튼, 값라벨과 그래프의 레전드는 다음과 같은 형식입니다.. 숫자1 "문자1" 숫자2 "문자2" ......==> 1 "임금" 2 "비임금" 3 "전체" ....... //다음과 같은 상황을 생각해 봅시다.// 값이 1 2 3 이 있는 변수 sim이 있는데 각각의 값라벨로// 1일때, "모형1", 2일때 "모형2" 3일때 "모형3"을 설정해야하는 경우....// 이런 경우 매크로를 짜봅시다....ㅋ loc sname = "" loc Model = "모형1 모형2..