请选择 进入手机版 | 继续访问电脑版
楼主: 凡雪
8831 4

[数据管理求助] Stata循环中,如何设置多个变量循环? [推广有奖]

  • 1关注
  • 1粉丝

高中生

97%

还不是VIP/贵宾

-

威望
0
论坛币
455 个
通用积分
2.9024
学术水平
3 点
热心指数
1 点
信用等级
1 点
经验
331 点
帖子
12
精华
0
在线时间
57 小时
注册时间
2011-3-12
最后登录
2019-10-20

凡雪 发表于 2018-7-15 10:37:18 |显示全部楼层 |坛友微信交流群
30论坛币




在Stata宽面板数据中,我有84个变量:a1,a2,a3,......,a84。要求计算如下的结果:a1+a2+a3,a4+a5+a6,......,a82+a83+a84。每三个变量值相加,如何用循环做?

关键词:Stata 多个变量 tata 面板数据 变量值
凡雪 发表于 2018-7-15 15:47:13 |显示全部楼层 |坛友微信交流群
已解决,自己写了个程序算是抛砖引玉:
forvalue i=1(3) 84{
  local j=`i'+1
  local k=`i'+2
  gen b`i' =a`i'+a`j'+a`k'
}
如果新生成的变量b需要按下标从小到大排列的话,继续执行下面的程序
forvalue i=1(1) 28{
  local h=`i'*3-2
  rename b`h' b`i'
}
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
leao3344 + 1 + 1 + 1 精彩帖子
逐梦的太阳 + 5 + 2 好的意见建议

总评分: 论坛币 + 5  学术水平 + 3  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

xxbxxb789456 学生认证  发表于 2019-3-11 15:38:49 |显示全部楼层 |坛友微信交流群
凡雪 发表于 2018-7-15 15:47
已解决,自己写了个程序算是抛砖引玉:
forvalue i=1(3) 84{
  local j=`i'+1
高级,学习了

使用道具

小白ycf 发表于 2020-1-15 10:41:39 |显示全部楼层 |坛友微信交流群
请问楼主,问什么要把local语句写在大括号里面啊?

使用道具

凡雪 发表于 2018-7-15 15:47
已解决,自己写了个程序算是抛砖引玉:
forvalue i=1(3) 84{
  local j=`i'+1
楼主,想请教一下,如果想继续循环,从2开始计算:a2+a3+a4, a5+a6+a7...,然后再从3开始计算,a3+a4+a5, a4+a5+a6...应该怎么写语句呢?感谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-18 10:50