2017-03-11 93 views
-1

編碼我有一個數據集,看起來像這樣如何通過

Name Group X 
Tracy 1  91 
Tracy 1  78 
Luke  1  82 
Tracy 2  65 

我要生成一個變量,它看起來像這樣:

Name Group X  Name_num 
Tracy 1  91  1 
Tracy 1  78  1 
Luke  1  82  2 
Tracy 2  65  1 

基本上,我想通過做組encode操作。但是,Stata不允許使用byencode。我也嘗試將byegen group結合起來。它也沒有工作。

+1

'encode'的GroupWise將數據子集內意味着不同的套價值標籤。斯塔塔確實不允許這樣做。類似的評論適用於'egen'的'group()'。這兩個概念都不適用於Stata。除此之外,代碼示例並不能解釋具體做什麼。是什麼讓第一組中的盧克2和特雷西1而不是其他方式? 「X」與這個問題有什麼關係?沒有你的新變量的規則,這個問題是無法回答的。該標準是否在數據集中首次出現?爲了不脆弱,你需要一個時間或其他訂單變量。 –

回答

0

試試這個哥們

bysort Group (Name) : gen dum = 1 if _n == 1 
bysort Group (Name) : replace dum = 1 if Name[_n-1] != Name 
bysort Group (Name) : gen myid = sum(dum) 
+0

不起作用。 'Luke'在'Group' 1的'Tracy'之前被分類,這不是OP想要的(儘管爲什麼它被要求完全不清楚)。 –