2016-11-07 31 views
0

我在Stata是相當新的,我需要創建一個變量,記錄兩個變量(領導者ID和年份)的組合的第一個實例,並將允許它保持相同的值(1 )關係的持續時間。即領導者A的第一年執政時期是1973年,我需要在該領導人第一年的138次二元觀察中進行這種關係。然後是下一年(2)等等(3,4,5 ...)。有什麼建議麼?爲2個變量創建一個標識符

+3

我認爲你需要給出一個你的數據看起來像什麼和期望的輸出的例子。 –

回答

1

假設您的領導者標識符存儲在變量id中,年份變量存儲在year中,則有多個選項可用。

最簡單的:

egen idCombination = group(id year) 

如果你想在計數器復位每個單獨的領導者(group()不能by:組合):

by id year, sort: generate newCombination = 1 if _n==1 
// takes value 1 for first time of combination, otherwise missing 
by id (year), sort: generate idCombination = sum(newCombination) 
+0

'bysort id(year):gen idCombination = sum(year!= year [_n-1])'是最後一個選項。 –

0

不知道你的數據看起來怎麼樣,但我想你想要一個包含原始兩個變量值的新ID。你可以試試這個:

egen newid = group(leaderID year), label

這裏的選項label標籤的兩個變量的值設置到新的ID變量。

當您選擇新變量newid時,您會看到每個觀察值的值。

但是,如果選項卡沒有標籤,即tab newid,nol,您將看到新ID變量的實際值爲1〜n,其中n是您的樣本大小。

+0

沒有理由假設新標識符將接近樣本量(即觀察次數)。如果你的意思只是這個上限,那就夠公平了。 –

+0

是的,你是對的。理論上,n應該是上限。 – LovelyVV