我在 Stata 中有一个无法解决的问题。我的数据集看起来像以下块的前两列,我想添加第三列,其中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])
这是一个相当基本的问题,考虑到这个论坛的目标是专业和狂热的程序员,他们应该阅读过文档并展示代码尝试。请参阅例如https://stackoverflow.com/help/mcve了解这里定义的好问题。