首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Stata:循环观察

Stata:循环观察
EN

Stack Overflow用户
提问于 2015-01-14 14:42:48
回答 1查看 2K关注 0票数 0

我的数据集如下所示

代码语言:javascript
运行
复制
x1
1  
0
0
1
0
0
1
1

在此数据集中,以下1的值属于同一组。例如,前2 0属于第1组,第2 2 0属于第二组a等等。我想得到一个类似于此的最后输出。请注意,两个1之间的增量是任意的:

代码语言:javascript
运行
复制
x1 x2
1  1
0  1
0  1
1  2
0  2
0  2
1  3
1  4

我想我需要写一个循环来检查观察结果。但我无法弄清楚实现这一目标的逻辑语句。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-14 15:22:46

任一

代码语言:javascript
运行
复制
gen x2 = sum(x1) 

代码语言:javascript
运行
复制
gen x2 = sum(x1 == 1) 

就够了。与往常一样,在观察中有一个循环,但是你不需要一个明确的循环。

详细地说,这里的sum()是一个累积的或正在运行的总和。在您的例子中,第一个解决方案是简单而充分的。之所以提到第二个解决方案,是因为它更通用:我们可以用1标记每个块或拼写中的第一个观察,然后创建一个运行和,以形成1s、2s等块。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27945546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档