2013-06-20 605 views
1

我有一個季度觀測的時間序列數據集,我想要collapse到年度系列。爲此,我需要首先轉換我的日期變量。Stata:轉換日期,季度到年份

它看起來像

. list date in 1/5 

    +--------+ 
    | date | 
    |--------| 
1. | 1991q1 | 
2. | 1991q2 | 
3. | 1991q3 | 
4. | 1991q4 | 
5. | 1992q1 | 
    +--------+ 

因此,爲collapse,我想date(或date2)是1991年,1991年,1991年,1991年,1992年等

一旦我有,我可以使用collapsetscollapse將我的數據集轉換爲年度數據。

+0

爲什麼這個問題從CrossValidated遷移? – altabq

+0

它與統計無關。這是一個編程問題。 –

+0

這是關於一個統計軟件包 - 所以「沒有」在這裏顯然不是正確的術語。統計和計劃統計之間的區別也是相當隨意的。因此,現在在CrossValidated中存在一些與Stata/R/Matlab/Gauss相關的問題,有些問題在Stackoverflow中。所以實質上,這會創建兩個單獨的堆棧交換,並且部分重疊內容。我真的沒有看到這一點。 – altabq

回答

5
// create some example data 
. clear all 

. set obs 5 
obs was 0, now 5 

. gen date = 123 + _n 

. format date %tq 

// create the yearly date 
. gen date2 = yofd(dofq(date)) 

// admire the result 
. list 

    +----------------+ 
    | date date2 | 
    |----------------| 
    1. | 1991q1 1991 | 
    2. | 1991q2 1991 | 
    3. | 1991q3 1991 | 
    4. | 1991q4 1991 | 
    5. | 1992q1 1992 | 
    +----------------+ 
3

另一種方法是隻記得,年份和季度只是整數。文件的一個小諮詢和一個小擺弄周圍產生

. gen Y = 1960 + floor(Q/4) 

的轉換規則從塔塔季度日期來獲得年。格式化年份作爲年度日期是允許的,但是是多餘的。

相關問題