變化在我的數據每個觀測提出誰遵循一些隨機模式的玩家。變量move1
向上代表每個玩家在哪些動作中處於活動狀態。我需要統計每位玩家的活躍次數:塔塔:使用EGEN,anycount()值時,每個觀測
數據如下(其中_count
代表我想生成的變量)。移動次數也可能因模擬而有所不同。
+------------+------------+-------+-------+-------+-------+-------+-------+--------+ | simulation | playerlist | move1 | move2 | move3 | move4 | move5 | move6 | _count | +------------+------------+-------+-------+-------+-------+-------+-------+--------+ | 1 | 1 | 1 | 1 | 1 | 2 | . | . | 3 | | 1 | 2 | 2 | 2 | 4 | 4 | . | . | 2 | | 2 | 3 | 1 | 2 | 3 | 3 | 3 | 3 | 4 | | 2 | 4 | 4 | 1 | 2 | 3 | 3 | 3 | 1 | +------------+------------+-------+-------+-------+-------+-------+-------+--------+
egen
與anycount()
組合是不適用在這種情況下,因爲爲value()
選項的參數不是一個常數整數。我試圖循環通過每個觀察並使用egen
rowwise(見下文),但它保持count
缺失(如初始化)並且效率不高(我有50,000個觀測值)。 Stata有沒有辦法做到這一點?
gen _count =.
quietly forval i = 1/`=_N' {
egen temp = anycount(move*), values(`=`playerlist'[`i']')
replace _count = temp
drop temp
}