2017-03-27 8 views
0

現在の範囲外の日付を含むようにデータセットを拡張しようとしています。現在の範囲外に日付を変更する

データの範囲は1992q1から2017q1です。各観察は、例えば、1993q2から1997q1のような、より大きなウィンドウの一部分内に存在する。

欠けている時間を埋めるために、各範囲ごとに四半期の観測値を作成する必要があります。私は既に既存のデータを四半期に拡張しています。

私はどのようにするか分からないものは、それらの欠けている四半期を追加することです。たとえば、country1の日付は1993q2〜1997q1です。私は1992q1から1993q1と1997q2までの欠けた日付を2017q1に追加する必要があります。

+0

謝罪やその他の個人的なコメントは、謙虚な謙虚さと寛大さを示しますが、問題をより明確にしません。可能な限りあなたの問題を明確にし、親善に信頼するだけです。 –

答えて

1

あなたの質問はこのサンドボックスデータセットによって示されていると思います。

clear 
set obs 10 
gen id = cond(_n < 7, 1, 2) 
gen qdate = yq(1992, 1) in 1 
replace qdate = yq(1992, 3) in 7 
bysort id (qdate) : replace qdate = qdate[_n-1] + 1 if missing(qdate) 
format qdate %tq 
list, sepby(id) 

    +-------------+ 
    | id qdate | 
    |-------------| 
    1. | 1 1992q1 | 
    2. | 1 1992q2 | 
    3. | 1 1992q3 | 
    4. | 1 1992q4 | 
    5. | 1 1993q1 | 
    6. | 1 1993q2 | 
    |-------------| 
    7. | 2 1992q3 | 
    8. | 2 1992q4 | 
    9. | 2 1993q1 | 
10. | 2 1993q2 | 
    +-------------+ 

fillin id qdate 
list, sepby(id) 

    +-----------------------+ 
    | id qdate _fillin | 
    |-----------------------| 
    1. | 1 1992q1   0 | 
    2. | 1 1992q2   0 | 
    3. | 1 1992q3   0 | 
    4. | 1 1992q4   0 | 
    5. | 1 1993q1   0 | 
    6. | 1 1993q2   0 | 
    |-----------------------| 
    7. | 2 1992q1   1 | 
    8. | 2 1992q2   1 | 
    9. | 2 1992q3   0 | 
10. | 2 1992q4   0 | 
11. | 2 1993q1   0 | 
12. | 2 1993q2   0 | 
    +-----------------------+ 

So. fillinは、識別子と時刻のすべての交差組み合わせが存在することを保証する簡単な方法です。しかし、どのようなメリットがありますか?この例には示されていませんが、他の変数の値は欠損値としてのみ存在します。いくつかの状況では、補間を続行することは正当ですが、通常、不完全なパネルでしか生きていません。

どのようにこれらのソリューションを見つけるには?良い戦略の1つは、基本的なデータ管理コマンドがどのようなものであるかを見るために[D]マニュアルを見ることです。

関連する問題