楼主: GGmengting
1241 5

[时间序列问题] stata循环相加语句求助! [推广有奖]

  • 0关注
  • 0粉丝

高中生

20%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.1320
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
71 点
帖子
9
精华
0
在线时间
39 小时
注册时间
2020-4-19
最后登录
2023-9-1

楼主
GGmengting 发表于 2022-9-17 23:28:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大神,求助:我有1个变量var1,共有1000个观测值,需要每隔4个观测值进行相加。比如;观测值为1,1,2,4,4,4,4,4,4,4;要求1+1+2+4,1+2+4+4,2+4+4+4.........以此类推,stata的循环命令应该怎么写。请大神教我!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata 循环命令 观测值 VaR 毕业论文 陈强

沙发
哥哥海哥哥 在职认证  学生认证  发表于 2022-9-18 10:28:02

forvalues i = 1/`=_N - 4' {
gen var2 = var[`i']  + var[`i' + 1] + var[`i' + 2] + + var[`i' + 3]
}

藤椅
GGmengting 发表于 2022-9-18 14:09:41
感谢大佬!但是我根据您给到的程序操作之后,没有实现循环,变量adi_sum4全部都是变量adi的第一个观测值到第四个观测值相加。数据如附件图片,不知道是哪里出错了呢?

循环求和.png (241.99 KB)

循环求和.png

板凳
qianchen 发表于 2022-9-18 16:28:30
  gen sum=var[_n]+var[_n-1]+var[_n-2]+var[_n-3]

报纸
GGmengting 发表于 2022-9-18 19:12:41
已解决,感谢!

地板
lydiasly 发表于 2022-11-4 11:16:15
两个思路:
1.以年份进行循环:gen sum = 0 /// foreach year = 2005/2013{ replace sum = time[_n] + time[_n - 1] + time[_n - 2] + time[_n - 3] if time = `year'Q4}
2.直接相加计算(假设楼主的time列一共有100个数据):gen sum = 0 /// foreach  m = 4(4)100{ replace sum = time[_`m'] + time[_`m' - 1] + time[_`m' - 2] + time[_`m' - 3]}
计算完过后再分年份用最大值replace(foreach year,sum找最大值,然后replace)
没有数据可以实验,应该有点问题,仅提供思路

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-16 17:50