Regex Stata:新观测的累积数量

Regex Stata:新观测的累积数量,regex,stata,Regex,Stata,我想检查同一列的前几行中是否出现了值。 最后,我想对不同观察的数量进行累计计数 除了集中所有行并使用正则表达式,还有其他解决方案吗?我是通过连接行来实现的,但是考虑到字符串变量的244个字符的限制(在Stata中,正则表达式是很好的,但是在其他地方,简单的计算就足够了 . input x x 1. 12 2. 32 3. 12 4. 43 5. 43 6

我想检查同一列的前几行中是否出现了值。 最后,我想对不同观察的数量进行累计计数


除了集中所有行并使用正则表达式,还有其他解决方案吗?我是通过连接行来实现的,但是考虑到字符串变量的244个字符的限制(在Stata中,正则表达式是很好的,但是在其他地方,简单的计算就足够了

. input x x 1. 12 2. 32 3. 12 4. 43 5. 43 6. 3 7. 4 8. 3 9. 3 10. 3 11. end end of do-file .输入x x 一点一二 二点三二 三点一二 四点四三 五点四三 六点三 七点四 八点三 九点三 十点三 11.完 do文件结束 您可以识别每个不同值的首次出现:

. gen long order = _n . bysort x (order) : gen first = _n == 1 . sort order . l +--------------------+ | x order first | |--------------------| 1. | 12 1 1 | 2. | 32 2 1 | 3. | 12 3 0 | 4. | 43 4 1 | 5. | 43 5 0 | |--------------------| 6. | 3 6 1 | 7. | 4 7 1 | 8. | 3 8 0 | 9. | 3 9 0 | 10. | 3 10 0 | +--------------------+ .gen长订单=\n .bysort x(顺序):gen first=\n==1 .排序顺序 L +--------------------+ |x顺序优先| |--------------------| 1. | 12 1 1 | 2. | 32 2 1 | 3. | 12 3 0 | 4. | 43 4 1 | 5. | 43 5 0 | |--------------------| 6. | 3 6 1 | 7. | 4 7 1 | 8. | 3 8 0 | 9. | 3 9 0 | 10. | 3 10 0 | +--------------------+ 到目前为止,使用
sum()
,可以看到的不同值的数量只是
first
的累积和。这也适用于字符串变量。事实上,这个问题是本文讨论的几个问题之一

所有人都可以以.pdf格式访问。
search distinct
会为您指出这篇文章

通过:、
排序
\n
\n
流利地使用
是Stata中的一项重要技能。另请参见


另一篇大家都可以阅读的文章。

正则表达式很好,但这里和其他地方一样,简单的计算就足够了

. input x x 1. 12 2. 32 3. 12 4. 43 5. 43 6. 3 7. 4 8. 3 9. 3 10. 3 11. end end of do-file .输入x x 一点一二 二点三二 三点一二 四点四三 五点四三 六点三 七点四 八点三 九点三 十点三 11.完 do文件结束 您可以识别每个不同值的首次出现:

. gen long order = _n . bysort x (order) : gen first = _n == 1 . sort order . l +--------------------+ | x order first | |--------------------| 1. | 12 1 1 | 2. | 32 2 1 | 3. | 12 3 0 | 4. | 43 4 1 | 5. | 43 5 0 | |--------------------| 6. | 3 6 1 | 7. | 4 7 1 | 8. | 3 8 0 | 9. | 3 9 0 | 10. | 3 10 0 | +--------------------+ .gen长订单=\n .bysort x(顺序):gen first=\n==1 .排序顺序 L +--------------------+ |x顺序优先| |--------------------| 1. | 12 1 1 | 2. | 32 2 1 | 3. | 12 3 0 | 4. | 43 4 1 | 5. | 43 5 0 | |--------------------| 6. | 3 6 1 | 7. | 4 7 1 | 8. | 3 8 0 | 9. | 3 9 0 | 10. | 3 10 0 | +--------------------+ 到目前为止,使用
sum()
,可以看到的不同值的数量只是
first
的累积和。这也适用于字符串变量。事实上,这个问题是本文讨论的几个问题之一

所有人都可以以.pdf格式访问。
search distinct
会为您指出这篇文章

通过:
排序
\n
\n
流利地使用
是Stata中的一项重要技能。另请参见


另一篇大家都能读到的文章。

Brilliant Nick!我觉得必须有“简单”的解决方案!谢谢!Brilliant Nick!我觉得必须有“简单”的解决方案!谢谢! . input x x 1. 12 2. 32 3. 12 4. 43 5. 43 6. 3 7. 4 8. 3 9. 3 10. 3 11. end end of do-file . gen long order = _n . bysort x (order) : gen first = _n == 1 . sort order . l +--------------------+ | x order first | |--------------------| 1. | 12 1 1 | 2. | 32 2 1 | 3. | 12 3 0 | 4. | 43 4 1 | 5. | 43 5 0 | |--------------------| 6. | 3 6 1 | 7. | 4 7 1 | 8. | 3 8 0 | 9. | 3 9 0 | 10. | 3 10 0 | +--------------------+