2016-06-23 7 views
-2

私はStataに問題がありますが解決できません。私のデータセットは次のブロックの最初の2列のように見えますが、私はnewvarがいつでも自分自身をリセットする3番目の列を追加したいと思います。は値を変更しますは観測順序を保つことが重要です。それを生成するグループによって。グループ別にIDを生成

|id|group|newvar 
|7 |10 |1 
|7 |10 |1 
|7 |10 |1 
|7 |5 |2 
|7 |5 |2 
|7 |8 |3 
+0

スペルミスは30年間スタータになっています....それに応じて編集されました。 –

答えて

1

私はあなたの例では、idがないにもかかわらず、新しい変数変化を示しているとして、あなたが言うことを意味するものではありませんね。

あなたは常に現在の注文が次に観測順に

gen long obs = _n 

を追跡する変数で作業することにより、文字通りに解釈されることを保証することができます私はあなたがこれはかなり基本的なものです

bysort id (order) : gen newvar = sum(group != group[_n-1]) 

で何をしたいと思いますドキュメンテーションを読んでコードを試してみることが期待されるプロと熱心なプログラマーに、このフォーラムの目的を考慮した質問。例えば、 https://stackoverflow.com/help/mcveここでは良い質問を定義します。

関連する問題