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