2014-03-07 38 views
0

標題可能會引起誤解。Stata:替換多個觀測虛擬物品

我有一個虛擬的(dummy1)變量的縱向數據集,指示某個條件是否符合某年,給定category。我希望這個事件在未來的二十年中也能得到考慮。因此,我想創建一個新的虛擬模型(dummy2),其中dummy1爲1的觀察值後面的19個觀測值的值爲1,以及相同的觀測值(下面的示例)。

example

我試圖創建具有滯後運營循環,但沒能得到它的工作至今。

回答

2

即使失敗的代碼也可能接近良好的解決方案。不給代碼失敗意味着我們不能解釋你的錯誤。此外,關於如何使用軟件來做某些事情的問題被廣泛認爲是邊緣化的或是關於SO的話題。

一種方法是

bysort category (year) : gen previous = year if dummy1 
by category : replace previous = previous[_n-1] if missing(previous) 
gen byte dummy2 = (year - previous) < 20 

訣竅這裏是創建一個變量抱着最後year的虛擬(指標)爲1,並在該伎倆How can I replace missing values with previous or following nonmissing values or within sequences?

注意拼寫出來這可以獨立工作

  1. 是否面板標識符是數字(它可以是字符串在這裏,在eviden CE給出)

  2. 你是否有tssetxtset數據

  3. 第一事件之前發生了什麼;在這樣的年份裏,previous出生不見了,並且一直不見蹤影(但是,一般來說,在時間序列結尾處注意代碼問題)。