본문 바로가기

방법론 공부/계량통계 방법론

[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... 더보기
[STATA] 변수 정렬 및 관리 - sort, tab, gen, egen, ren 주어진 dataset을 원하는 변수에 따라 새로 정렬하려면 어떻게 할까요. sort command를 사용합니다. sort benef_code 그러면 benef_code의 값이 작은 것부터 오름차순으로 정렬이 되겠지요. tab command는 범주형 자료에 유용한 빈도값을 요약해줍니다. tab command와 generate() option을 함께 사용하면 각각에 해당하는 더미변수를 생성하지요. 예컨대 tab group, gen(g) 는 각각의 group에 해당하는 더미변수 g1, g2, g3,...를 만들어 냅니다. generate 혹은 gen command는 주어진 dataset에 없는 변수를 새로 만들어낼 때 사용합니다. gen 변수명 = 변수의 내용 예컨대gen gpm=1/mpg와 같이 수식을 통해.. 더보기
[STATA] STATA에서의 매크로(2) - foreach, forvalue, levelsof 매크로는 동일한 것을 반복해야 할 때 유용하게 쓰인다고 했지요. local 및 global command는 동일한 변수 반복과 조건을 정의할 때에 쓸 수 있었는데, for command는 동일한 command를 반복하는 것을 피하게 해줍니다.즉, for varlist kc ki kg: egen mean_X=mean(X) 는 다음의 command들을 입력한 것과 동일합니다. egen mean_kc=mean(kc)egen mean_ki=mean(ki) egen mean_kg=mean(kg) varlist에서 지정된 모든 변수들이 X로 인식되어 egen command가 실행된 것을 볼 수 있습니다. 이를 확인하는 display command과 개별 command가 표시되지 않게하는 noheader option.. 더보기
[STATA] STATA에서의 매크로(1) - local, global 매크로란 여러 명령어를 반복해서 사용하게 될 때, 이 마이크로 명령어들을 일일이 입력하지 않고 묶어서 수행할 수 있도록 하는 기능입니다.엑셀에서도 많이 사용되지요. 그러나 STATA에서의 매크로 기능은 엑셀과는 조금 차이가 있습니다. 엑셀에서의 엑셀은 STATA에서 do-file과 비슷하지요. STATA에서의 매크로는 여러 변수들을 반복적으로 사용할 수 있도록 합니다. 예컨대 여러 regression에서 동일한 독립 변수 목록을 사용하면서 이를 반복적으로 입력하는 것을 피하고 싶을 때 매크로를 쓰게 됩니다. 매크로 command의 기본은 다음과 같습니다. 매크로 매크로이름 매크로내용 매크로의 정의와 관련하여 좀더 알아보면,. local name "something"는 대괄호 안에 있는 그대로를 매크로의 .. 더보기
[STATA] STATA 관련 파일 확장자들 - dta, do, log STATA 시작하기에 앞서 먼저 다루었어야 하는데, STATA 관련 파일 확장자는 크게 세 가지가 있습니다. 간단한 내용이기에 번역하지 않고 MIT 자료를 첨부합니다. What is it? Where does it come from? Hand in with problem set? *.dta The "input" file. This is the Stata data file. You need to download the data files for each problem set from the course website. NO *.do The "program" file that acts upon the "input" file. This is a text file containing a list of Stata.. 더보기
[STATA] set memory, set more on/off, set seed - 데이터 메모리 및 출력 설정 set은 데이터를 처리하기에 앞서 이것저것 메모리, 변수의 갯수 등 관련 설정을 해두는 데에 유용한 command입니다. 그 중 몇 가지를 소개하겠습니다. set mem command를 통해 데이터를 탑재할 메모리의 용량을 설정합니다. 이는 데이터 처리 속도와도 연관되는데, 필요한 메모리 이상으로 메모리를 설정했을 경우, 자료 처리 속도를 늦추게 되니 필요한 만큼만 설정해놓는 것이 좋습니다. 기본으로 설정된 메모리는 10 MB 입니다. 아래는 예시. set mem 25m 한편, 필요한 작업을 모두 한 다음에는 STATA를 한번 닫고 다시 열거나, 메모리를 깨끗이하고 다시 메모리 상한을 10 MB로 설정해주어야 합니다. 그럼 내가 데이터를 얼마나 쓸지 어떻게 아느냐... 일일이 계산할 필요는 없고 갖고 있.. 더보기