본문 바로가기

분류 전체보기

[STATA] 일정한 조건에 따라 dummy 변수 쉽게 만들기 tabulate & generate() STATA를 통해 가장 쉽게 더미 변수를 생성하는 방법은 tabulate과 generate command를 사용하는 것입니다. tabulate 기존변수명, generate(더미변수명)list 을 실행시키면 기존 변수에서의 관측치의 갯수에 따라 더미변수명1, 더미변수명2, 더미변수명3...라는 변수가 자동으로 생성됩니다. xi: i. xi command 역시 쉽게 더미 변수를 생성하도록 해줍니다. ‘i.*’는 xi 와 같이 쓰이면 ‘i.’ 뒤에 나오는 범주형 변수로 인식하고 더미 변수를 자동으로 생성해주는 역할을 하게 됩니다. xi i.group xi: reg wage_hourly age c.age#c.age i.w2edu 한편, 두번째 예와 같이 더미변수로 regr.. 더보기
[STATA] 두 개 이상의 분포 비교하기 - Box plot Boxplot의 정확한 명칭은 box-and-whisker plot으로, dataset의 분포를 보여주기 위해 사용되는 그래프의 일종으로, 다음과 같이 생겼습니다. STATA에서의 기본 command는 다음과 같습니다. graph box 변수1 변수2 변수3 한편, 이는 변수 카테고리가 x축에 위치해서 y축에 통계값이 나타나는 그래프이고, 반대로 변수 카테고리가 y축에 위치한 boxplot을 그리기 위해서는 다음과 같은 command를 사용합니다. graph hbox 변수1 변수2 변수3 변수1, 변수2, 변수3은 하나의 boxplot 그래프 안에서 다른 색깔로 그려집니다. 카테고리와 그래프 순서 그리고 over() option을 사용하면 전체 데이터를 over() option 에 따라 지정된 변수라는 .. 더보기
[STATA] 카테고리에 따라 데이터 정렬 혹은 생성 - sort, gsort, by, bysort 많은 STATA commands들은 개별 변수 내의 group 별로 처리되고는 합니다. sortsort command는 다음에 지정된 변수를 기준변수로 하여 오름차순(ascending order)으로 표본들을 정렬합니다. 두 개의 변수가 지정된 경우에는 2번째 변수는 2순위 기준변수가 됩니다. 한편, 문자열 변수인 경우인 경우에는 영어는 알파벳순, 한글은 가나다순으로 정렬됩니다.. sort company year gsort gsort command는 -와 함께 사용하여 지정된 변수를 기준변수로 하여 내림차순(descending order)으로 표본들을 정렬합니다. 다음의 command는 company 변수의 표본들을 기준으로 내림차순으로 정렬합니다.. gsort -company byby command는 .. 더보기
깔끔한 인쇄를 도와주는 툴(북마크) - CleanPrint® 인터넷 사이트들을 돌아다니다가보면 유용한 글을 찾아 금방 인쇄하고 싶을 때가 있습니다. 그러나 광고창들, 필요없는 그림들까지 인쇄해야 할 때가 많죠. 지금까지는 화면을 복사해서 Microsoft word에 붙여넣기를 해서 일일이 필요없는 부분들을 지워줬는데, 다음의 툴을 사용하면 그럴 필요가 없습니다! CleanPrint를 통해 종이수를 몇 장이나 아꼈는가까지 확인할 수 있습니다. 구글 크롬 북마크 링크를 첨부합니다.https://chrome.google.com/webstore/detail/print-or-pdf-with-cleanpr/fklmmmdcofimkjmfjdnobmmgmefbapkf/related 더보기
[STATA] 히스토그램과 instant command - histogram, scatteri 하나의 STATA do-file 일부를 살펴보면서 histogram, twoway histogram, scatteri command 등에 대해 알아보겠습니다. twoway (histogram foreign, discrete width(5) percent ytitle(percent of sites) ///xtitle("foreigners") xlabel(, angle(zero) tposition(inside)) ///title("Distribution of percent of foreigners")) ///(scatteri 0 13 25 13, c(l) m(i) legend(off) ///note("Note: Red line is the average (13).")) save "`figurepath'dis.. 더보기
[STATA] 정말 유용한 egen row: mean, sum, total, max, min, tag, group, concat, cut egen command를 통해 활용할 수 있는 함수들을 몇 가지 알아보겠습니다. mean() egen mean_price = mean(price), by(store_id) 이는 각각의 store_id에 대하여 price의 평균값을 mean_price라는 새로운 변수로 저장합니다. 예컨대 각각의 store 물건 가격의 평균값이라고 할 수 있지요.이때, 관측치에 결측값이 있으면 mean을 구하지 못합니다. rowmean() . egen avg = rowmean(a_score b_score c_score) 이는 각각의 관측값에서 서로 다른 변수 a_score,b_score,c_score 간의 평균값을 계산해서 새로운 변수로 저장합니다. 예컨대 a,b,c가 수학, 과학, 영어 점수일 때, 전과목의 평균치를 구할.. 더보기
[STATA] 관측치 고유성/중복 확인 - isid isid command는 각각의 변수들이 고유한 관측치들을 나타내는지를 확인하는 데에 쓰입니다. . isid mpg 그런데 variable mpg does not uniquely identify the observations r(459); 와 같은 결과가 나타났다면 동일한 mpg가 있다는 겁니다. 동일한 관측치가 나타난 것을 안다면 이를 확인하는 법은 _N를 통해 살펴보았었죠. .sort mpg.by mpg: generate nobs = _N.list make mpg if nobs >1, sepby(mpg) 하나의 예시를 더 살펴볼까요. 패널데이터에서 두 개의 관측치가 중복적으로 입력되었을 수 있겠죠. 이를 확인하기 위해 다음과 같은 command를 실행합니다. . isid company year 아무 .. 더보기
[STATA] 파일 디렉토리 지정 - pwd, dir, cd STATA의 기본 작업 디렉토리는 c:\data이고, 현재 working directory를 확인하는 command는 다음과 같습니다.. pwd 따라서 파일을 불러들일 때 다음과 같이 매번 path를 지정해야 합니다. 이때 use command는 기본적으로 .dta,확장자,즉 dataset 파일을 인식합니다.) . use c:\intropov\data\hh 한편, 동일 디렉토리 내에서 반복해서 데이터를 불러들이거나 저장을 할 때, 작업 폴더를 한번 설정해놓으면 이후에 전체 경로를 지정하지 않아도 됩니다. cd c:\intropov\datause hh 또한, 작업한 파일을 저장하기 위해서도 따로 path를 지정할 필요가 없게됩니다. . save hh, replace 자신이 지정한 디렉토리 안에 있는 파일들.. 더보기
[STATA] local command를 이용해 파일 디렉토리 지정하기 나중에 파일 directory 구조를 바꾸거나 전체 파일들을 새로운 폴더로 옮겼을 때에서 do file이 제대로 작동할 수 있도록 STATA file들을 어떻게 정리할 것이냐. dataset은 "D:\project dir\data\data3\somedata.dta"에log file은 "D:\project dir\analysis\analysis1\analysis1X.log"에do-file은 "D:\project dir\analysis\analysis1\datado.do"에 위치한다고 합시다. 나중에 "project dir\old version\data\..."로 파일 버전들을 정리하고 싶을 때, 각각의 파일에 모두 들어가서 파일 directory를 바꾸는 것이 아니라 손쉽게 오류를 피하고 싶다면 어떻게 할.. 더보기
[STATA] 관측치에 대해 고유값 부여 - gen number=_n, _n, _N STATA에서 "_n"은 "underscore variable"이라 불리며, 현재 관측값의 순서를 뜻합니다. 따라서 각각의 관측치에 대해 개별적으로 고유한 값을 부여하고 싶을 때 유용합니다. 따라서 gen number=_n 는 dataset에서 관측치의 순서에 해당하는 값(1~N값까지)을 부여합니다. 한편, _N은 전체 관측값의 갯수를 나타냅니다. 다음의 예시를 통해 그 차이를 볼 수 있습니다. input score group72 184 276 189 382 290 185 1 라는 dataset에 대하여generate id = _ngenerate nt = _N list 를 실행시키면 score group id nt 1. 72 1 1 7 2. 84 2 2 7 3. 76 1 3 7 4. 89 3 4 7 5... 더보기