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 |
+--------------------+