楼主: who68
4723 9

[编程问题求助] 如何将一列数按一定距离连续相加 [推广有奖]

  • 0关注
  • 0粉丝

已卖:5份资源

本科生

76%

还不是VIP/贵宾

-

威望
0
论坛币
1409 个
通用积分
1.3500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
810 点
帖子
59
精华
0
在线时间
117 小时
注册时间
2013-6-9
最后登录
2024-7-31

楼主
who68 发表于 2013-12-17 07:33:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求教:比如有a1....到a10000
然后我想求  b11=a1+a2+...+a10
                 b12=a2+a3+...+a11
                 b13=a3+a4+...+a12


如何做到啊?
二维码

扫码加我 拉你入群

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

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

关键词:如何

回帖推荐

沙发
who68 发表于 2013-12-17 07:36:27
对了,  一直加到b10000

藤椅
ywh19860616 发表于 2013-12-17 08:23:22
恩,楼下已经给出了答案。抱歉,一开始没有看清题意。
一份耕耘,一份收获。

板凳
yexian_renda 发表于 2013-12-17 08:25:12
Eviews或者R里面都有滞后函数,比如R,可以直接用滞后函数表示滞后多少期,你要的结果是当期和滞后1期、滞后2期……滞后9期的和,所以,写个表达式就可以了。具体的用法请参考R手册。很多年前求过你想要的结果,具体的函数写法记不清了。
更加简单的是用Excel,把你的数据放在第一列,然后,在第一行第二列写上求和公式“=sum(A1:A10)”,得到你所要的b1,然后,使用Excel的填充功能,把刚才的求和公式在第二列中往下复制,就行了。这个方法适用于数据不太多的情况。最后,要注意的是,b10000的结果只是a10000,因为a的数据到头了,所以b的最后几个数据,不是10个a的和了
楼上的方法是 STATA吧

报纸
who68 发表于 2013-12-17 09:09:22
ywh19860616 发表于 2013-12-17 08:23
假如一列数为num
或者
你好,这命令应该不对吧,我知道sum的命令,但我是想让他不断变化的加和,sum是之前的所有加和吧

地板
who68 发表于 2013-12-17 09:14:59
yexian_renda 发表于 2013-12-17 08:25
Eviews或者R里面都有滞后函数,比如R,可以直接用滞后函数表示滞后多少期,你要的结果是当期和滞后1期、滞后 ...
excel是个好主意!PS,这就是stata的版块啊

7
luisluan 发表于 2013-12-17 09:27:50
这不就是移动平均类似的概念嘛,就是没除n

8
蓝色 发表于 2013-12-17 09:49:27
egen  b=ma(a)  ,t(10)
replace b=b*10

9
瘠北幼农 发表于 2013-12-17 12:32:58
  1. gen c=0
  2. quietly {
  3. forvalue i=1/9990{
  4.   
  5.   local e=`i'+9
  6.     forvalue r=`i'/`e' {
  7.         local j=`i'+10
  8.          replace c=c[`j']+a[`r'] in `j'
  9.                          }
  10.                    }
  11.            }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
who68 + 1 + 1 + 1 精彩帖子

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

10
who68 发表于 2013-12-18 03:38:26
瘠北幼农 发表于 2013-12-17 12:32
五体投地

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-21 15:12