2012-04-20 5 views

답변

3

//

clear 
set obs 100 
gen year = _n + 1959 
gen expenditure = _n^(1/3) + runiform() 
line expenditure year, yti("Synthetic data example") 

// From Statalist : // 또한

bys year: g expendituregrowth=100*(expenditure[_n]-expenditure[_n-1])/expenditure[_n-1] 

:

gen expenditure_gr = (expenditure/expenditure[_n-1] - 1)*100 // growth rate for expenditure 
gen expenditure_bl = 100*expenditure/expenditure[1] // baseline growth rate for expenditure; base 100 = 1960 

line expenditure_gr year, yti("Growth rate") 
line expenditure_bl year, yti("Growth rate (base 100 = 1960)") 
다음 성장의 또 다른 측정 값 예입니다 0

// expenditure_gr의 계산은 내가 찾고 있다고 생각하는 것입니다.

데이터가 잘 형성 // 경우, 시계열와 STATA를 사용하여 쉽게 성장 속도를 얻을 :

tsset year, delta(1) 
cap drop expenditure_gr 
gen expenditure_gr = D.expenditure/100*L.expenditure 
+2

에만 차이를 만들 것입니다 마지막 줄; 'exp_gr'의 이전 정의와 같은 성장률을 만들려면'gen exp_gr = D.exp/L.exp * 100'이어야합니다. 또한'exp'는 변수에 대한 절대적인 끔찍한 이름입니다 :'exp * (stuff1 + stuff2)'에서 곱셈 기호를 잊어 버리면,이 버그를 찾는 데 한 시간을 소비하게됩니다 (누군가 당신의 숫자가 엄청나게 큽니다) . – StasK

+0

두 가지 수정 사항이 모두 정확합니다. 개정. –

+0

우수합니다. 감사합니다. 답변을 수락하는 데 너무 오래 걸리는 것에 대해 유감스럽게 생각하지만 매우 유용합니다. –

관련 문제