Matrix 变量增量记录事件(无循环)

Matrix 变量增量记录事件(无循环),matrix,stata,Matrix,Stata,我有这种结构(ID和Event): 我想创建X,但是我不能使用任何循环,因为数据库太大了。如有任何建议,我将不胜感激 编辑:我尝试了一些类型的bysort ID和Event但运气不佳:现在我正在使用这种方法: gen Spell=Event replace Spell=2 if Spell[_n-1]==1 & Spell[_n+1]==0 & ID[_n]==ID[_n-1] 但它不会起作用,因为我无法区分数据库中显示的第二个或第三个+事件 已解决 像这样的数据集需要一个

我有这种结构(
ID
Event
):

我想创建
X
,但是我不能使用任何循环,因为数据库太大了。如有任何建议,我将不胜感激

编辑:我尝试了一些类型的
bysort ID
Event
但运气不佳:现在我正在使用这种方法:

gen Spell=Event 

replace Spell=2 if Spell[_n-1]==1 & Spell[_n+1]==0 & ID[_n]==ID[_n-1]
但它不会起作用,因为我无法区分数据库中显示的第二个或第三个+事件

已解决


像这样的数据集需要一个时间或其他序列变量。如果没有,您当然应该创建一个:

sort ID, stable 
by ID : gen t = _n 
你想要的就是

bysort ID (t) : gen wanted = sum(event) 
这比你拥有的更干净更清晰。在斯塔塔

help sum() 
search by 
search spell 
查看相关帮助文件和说明性文章


(您知道这种方法,但由于您没有准确地展示您的尝试,因此我们无法对错误之处进行评论。)

欢迎使用so!到目前为止你试过什么?请编辑您的问题以显示您尝试的代码。
bysort ID (t) : gen wanted = sum(event) 
help sum() 
search by 
search spell