Stata 按组生成id

Stata 按组生成id,stata,labeling,Stata,Labeling,我在斯塔塔有个问题我解决不了。我的数据集看起来像下面块的前两列,我想添加第三列,newvar在id改变其值的任何时候重置自身,newvar保持观察顺序很重要,因此我无法按组排序生成它 |id|group|newvar |7 |10 |1 |7 |10 |1 |7 |10 |1 |7 |5 |2 |7 |5 |2 |7 |8 |3 我猜你的意思不是你所说的,因为你的例子显示新变量在变化,即使id没有变化 通过使用跟踪观察顺序的变量,您始终可以确保按字面意思执行当前顺

我在斯塔塔有个问题我解决不了。我的数据集看起来像下面块的前两列,我想添加第三列,
newvar
id
改变其值的任何时候重置自身,
newvar
保持观察顺序很重要,因此我无法按组排序生成它

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

我猜你的意思不是你所说的,因为你的例子显示新变量在变化,即使
id
没有变化

通过使用跟踪观察顺序的变量,您始终可以确保按字面意思执行当前顺序

 gen long obs = _n 
那我猜你想要的是

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

这是一个基本的问题,考虑到本论坛的目标是希望阅读文档并展示代码尝试的专业和热心程序员。参见此处的好问题定义

拼写已经有30年的历史了。。。。据此编辑。