数据设置时会附带一系列对应于ID的信息,该信息可能会多次显示。为循环设置动态停止点
ID Data
1 X
1 Y
2 A
2 B
2 Z
3 X
我想要一个循环,表示我正在查看的ID的哪个实例。这是第一次,第二次?我想以_#
的形式将它作为字符串,所以我不得不超越Stata中简单的_n
函数,据我所知。如果有人知道如何在没有循环的情况下做我想做的事情,请告诉我,但我仍然希望得到答案。
我已经在Stata下面的循环
by ID: gen count_one = _n
gen count_two = ""
quietly forval j = 1/3 {
replace count_two = "_`j'" if count_one == `j'
}
输出现在看起来是这样的:
ID Data count_one count_two
1 X 1 _1
1 Y 2 _2
2 A 1 _1
2 B 2 _2
2 Z 3 _3
3 X 1 _1
的问题是我怎么能代替上述16
与告诉Stata的取最大值的count_one列,因为我需要每周运行这个最大值将会改变,我想减少错误。
最后的命令不起作用。应该是'gen',而不是'egen'。 'tostring'不如'string()'直接。 –
感谢您的支持。现在修复。 – SOConnell