ch6.6.do open
file:script:do
| # | content |
|---|---|
| 2 [+] | * ITSP 6.6 - |
| 4 [+] | use air2 , |
* put a time-series calendar on the data |
|
| 6 [+] | tsmktim ym , |
* get the month number |
|
| 8 [+] | generate mnr = month(dofm(ym)) |
* find the end-of-quarter months |
|
| 10 [+] | generate eoq = (mod(mnr, 3) == 0) |
| 11 [+] | list ym mnr eoq air in 1/16 , |
// keep only last month of quarter |
|
| 14 [+] | preserve |
| 15 [+] | keep if eoq |
| 16 [+] | tsmktim yq , |
| 17 [+] | list yq air in 1/16 , |
// sum the values over the quarter |
|
| 20 [+] | restore , |
| 21 [+] | generate qtr = qofd(dofm(ym)) |
| 22 [+] | format qtr %tq |
| 23 [+] | collapse (sum) airsum=air , |
| 24 [+] | tsmktim yq , |
| 25 [+] | list yq airsum in 1/16 , |
// average the values over the quarter |
|
| 29 [+] | restore , |
| 30 [+] | generate qtr = qofd(dofm(ym)) |
| 31 [+] | format qtr %tq |
| 32 [+] | collapse airavg=air , |
| 33 [+] | tsmktim yq , |
| 34 [+] | list yq airavg in 1/16 , |
| 37 [+] | restore |
| 38 [+] | tsset ym |
| 39 [+] | tscollap (last) aireoq=air (sum) airsum=air (mean) airavg=air , |
| 40 [+] | list in 1/16 , |
* ITSP 6.6 - use air2, clear * put a time-series calendar on the data tsmktim ym, start(1949m1) * get the month number generate mnr = month(dofm(ym)) * find the end-of-quarter months generate eoq = (mod(mnr, 3) == 0) list ym mnr eoq air in 1/16, sep(4) noobs // keep only last month of quarter preserve keep if eoq tsmktim yq, start(1949q1) list yq air in 1/16, sep(4) noobs // sum the values over the quarter restore, preserve generate qtr = qofd(dofm(ym)) format qtr %tq collapse (sum) airsum=air, by(qtr) tsmktim yq, start(1949q1) list yq airsum in 1/16, sep(4) noobs // average the values over the quarter restore, preserve generate qtr = qofd(dofm(ym)) format qtr %tq collapse airavg=air, by(qtr) tsmktim yq, start(1949q1) list yq airavg in 1/16, sep(4) noobs restore tsset ym tscollap (last) aireoq=air (sum) airsum=air (mean) airavg=air, to(q) gen(yq) list in 1/16, sep(4) noobs