0
我有很難產生一個計數變量count = _n
不平衡面板數據與在Stata下列條件的最後一個值:計數變量,重複空調上二進制變量
開始計數(從_n
)每次二進制變量等於1,如果它從1變爲0,則count
重複上一個值,直到二進制再次變爲1(在這種情況下繼續從停止的位置開始計數)。
我覺得這是很容易表現出我的問題給我的數據集的例子:
year country binary count[variable that I want to create]
1959 1 0 0
1960 1 0 0
1961 1 1 1
1962 1 1 2
1963 1 1 3
1964 1 0 3
1965 1 0 3
1966 1 . .
1967 1 1 4
1959 2 0 0
1960 2 0 0
1961 2 0 0
1962 2 1 1
1963 2 1 2
1964 2 . .
1965 2 . .
1966 2 0 2
1967 2 0 2
1968 2 1 3
1969 2 1 4
1970 2 0 4
1959 3 1 1
1960 3 1 2
1961 3 1 3
1962 3 0 3
1963 3 . .
1964 3 1 4
1965 3 . .
1966 3 0 4
在上面的例子中,對於country = 1
,我的新的變量count
起始於1961年計數(從_n
) (因爲今年的二進制變量等於1),那麼它再次計數(從_n
)直到binary = 0
(保持相同的最後count
數字)。
缺失值在新變量中保留爲缺失值。
威廉的優秀解決方案可以縮寫爲'bysort country(year):generate ncount = cond(missing(binary),。,sum(binary))'。 –