5월, 2014의 게시물 표시

라벨 다루기: 라벨내 문자열 바꾸기: macro 활용

// 스타타를 사용하다보면, 새로운 변수들을 생성한다. // 또한 변수명은 축약해서 쓰지만, 변수가 의미하는 바를 구분하기 위해 라벨을 사용한다. // 오늘 해 볼 것은 기존 유사한 변수들에 대한 유사한 작업을 반복해서 하는 경우가 있다. // 이때, 새로운 변수들을 구분하기 위해 라벨을 붙이게 되는데, 기존 변수들의 라벨과 일부 문자만 다르고 내용은 동일한 경우 일일이 라벨문을 작성하는 것은 짜증나는 일이다. 왜냐면 단순작업이니까..... // 먼저, 다음과 같은 변수들이 이미 있다.      lab var rgn_base "납세지역(기초)"           lab var taxrev "세수(기초)"     lab var prn_all "납세인원(전체,기초)"     lab var prn_part "납세인원(세액>0,기초)"            gen rgn_larg = int(rgn_base/100)       // rgn_base는 총 네자리 숫자인데, 이중 앞의 두자리는 광역을 의미하는 코드이고, 뒤의 2자리는 기초지역을 의미하는 코드이다. 그래서 앞의 두자리를 떼내어  rgn_larg이라는 광역지역을 의미하는 변수를 새로 만들었다...      lab var rgn_larg "납세지역(광역)"         sort  rgn_larg    // 광역코드를 기준으로 정렬하고... // 기초단위의 세수,납세인원1,2변수의 합계값들에 대한 새로운 변수를 생성하고, 기초지역 관련 변수의 라벨에 있는 "기초"라는 문자를 "광역"으로 바꾸려고 한다....     foreach myvar of varlist taxrev...

그래프 그리기 07:= OECD 국가들의 개인소득세 최고세율의 변화: 1981~2010:= 막대그래프

이미지
아래의 그래프는 OECD 국가들의 개인소득세의 최고세율 변화(1981,1990,2000, 2010)를 보여주고 있는데요.... 와!! 대단하죠...예전에는 최고세율이 상당히 높았군요...근데 지금은 많이 떨어졌네요... 이것이 양극화의 원인일까요? 적어도 부분적으로는 그래 보입니다.... 여하튼 이것은 엑셀에서 작성한 것입니다.... 엑셀도 좋은 프로그램이죠..ㅋ 좀 더 구체적으로 말하면, 국가별로 4개 연도씩 묶어서 막대그래프를 그려야 하고, 평균치를 의미하는 선과, 화살표, 설명이 있습니다. Source: OECD(2012), "Trends in personal income tax and employee social security contribution schedules" // 동일한 데이터에 대해 스타타를 이용해서 작성한 것입니다. // 먼저,  국가별로 4개 연도씩 묶어서 막대그래프는 graph bar [ 각연도별 변수 ], over( groupbar ) 를 이용해 그립니다. #delimit ;   graph bar incometax1981  incometax1990 incometax2000 incometax2010  ,    over(country,gap(*2.5) label(angle(ninety) labsize(vsmall)) sort(incometax1981) descending)     ylabel(0(10)100, grid angle(horizontal) labsize(vsmall))      legend(order(1 "1981" 2 "1990" 3 "2000" 4 "2010") row(1) size(small) position(12) ring(0) region(lcolor(none)) fcolor(none) )   scheme(economist) ...

그래프 그리기 06:= 등탄력적 효용함수 그래프 그리기

이미지
// 스타타를 이용하여 일반 함수, 즉 y=x ,  y=x^2 + x + 3 와 같은 함수를 그리고 싶을때 // 오늘은 경제학에서 자주 사용되는 등탄력적 효용함수를 그려보도록 하겠습니다. 이때, 탄력도의 차이에 따른 함수 형태의 차이를 보고자 합니다. // 그리고 탄력도의 차이에 따른 함수에 따라 소득수준에 따른 한계효용의 변화 역시 비교합니다. // 등탄력적 효용함수의 일반적 형태...         // 이러한 효용함수의 특징은 소득수준에 따라 탄력도가 항상  ε 로 같다는 것입니다. // 즉,  ε 값에 따라 그 함수를 그리면 됩니다. // 함수를 그리는 기본적인 코드는 다음과 같습니다. twoway (function y = (x^(1-0) - 1)/(1-0),     range(0 5)     // ε=0일때, x값 범위를 0과 5로하여 그래프를 그리시오....    // 즉,  ε=0일때, 위 함수는 y=x-1이 됩니다...    // 이건 스타타 명령어 줄에서 아무런 자료가 없어도 그려집니다... 위의 function이라는 부분땜시...ㅋ // 여하튼,  ε 가 0 , 0.5, 1, 2, 5일때 각 함수를 하나의 그래프로 그리려면.... #delimit ; twoway (function y = (x^(1-0) - 1)/(1-0),     ra(0 5) lcolor(black) lwidth(medium) lpattern(solid))        (function y = (x^(1-0.5) - 1)/(1-0.5), ra(0 5) lcolor(blue) lwidth(medium) lpattern(solid))        (function y = (x^(1-1...