楼主: zjf883615
2514 7

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

  • 0关注
  • 0粉丝

博士生

24%

还不是VIP/贵宾

-

威望
0
论坛币
23 个
通用积分
27.8835
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1422 点
帖子
150
精华
0
在线时间
163 小时
注册时间
2020-5-5
最后登录
2024-3-15

楼主
zjf883615 发表于 2020-8-11 01:46:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求教:比如有a1....到a630
然后我想求  b1=a1+a4+...+a21
                 b2=a22+a3+...+a42
                 b3=a43+a4+...+a63
                 ....
                 b30=a610+a4+...+a630


如何做到分别求b1-b30啊
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata

回帖推荐

蓝色 发表于6楼  查看完整内容

沙发
DΘstinyじò 发表于 2020-8-11 13:19:49
你的规律写的有错误,是有一个变量a,共有630个样本,要按间隔21求和,是这个意思吧。问题描述要准确,试一下:
  1. egen b=seq(),f(1) t(30) b(21)
  2. bys b : egen wanted=sum(a)
复制代码

藤椅
zjf883615 发表于 2020-8-11 20:06:59
sorry 我设置有些问题 是这样:
求教:比如有a1....到a630
然后我想求(是列的和)
                 b1=a1+a2+...+a21
                 b2=a22+a23+...+a42
                 b3=a43+a44+...+a63
                 ....
                 b30=a610+a611+...+a630

板凳
zjf883615 发表于 2020-8-11 20:07:33
DΘstinyじò 发表于 2020-8-11 13:19
你的规律写的有错误,是有一个变量a,共有630个样本,要按间隔21求和,是这个意思吧。问题描述要准确,试一 ...
sorry 我设置有些问题 是这样:
求教:比如有a1....到a630
然后我想求(是列的和)
                 b1=a1+a2+...+a21
                 b2=a22+a23+...+a42
                 b3=a43+a44+...+a63
                 ....
                 b30=a610+a611+...+a630

报纸
DΘstinyじò 发表于 2020-8-11 20:25:50
zjf883615 发表于 2020-8-11 20:07
sorry 我设置有些问题 是这样:
求教:比如有a1....到a630
然后我想求(是列的和)
最近理解力下降,哈哈,不是的之前的,蓝色老师给出了代码。

地板
蓝色 发表于 2020-8-11 20:54:56
  1. local j=1
  2. local k=21               
  3. forvalues i = 1(1)30 {
  4.         egen b`i' = rowtotal(a`j'-a`k')
  5.                 local j=`i'+21
  6.                 local k=`j'+20
  7.     }
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
zjf883615 + 5 + 1 + 1 + 1 精彩帖子

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

7
zjf883615 发表于 2020-8-12 17:43:34
DΘstinyじò 发表于 2020-8-11 20:25
最近理解力下降,哈哈,不是的之前的,蓝色老师给出了代码。
谢谢您的帮助。

8
zjf883615 发表于 2020-8-12 22:26:01
蓝色 发表于 2020-8-11 20:54
谢谢蓝色老师提供的思路,可能我的问题没有描述清楚,修改以后的代码可能更匹配我的问题。
local j=1
local k=21               
forvalues i = 1(1)30 {
                local j=`i'+20*(`i'-1)
                local k=`j'+20
    egen m_region`i' = rowtotal(a`j'-a`k')
}

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 13:16