首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成一组变量随时间变化的累计和

如何生成一组变量随时间变化的累计和
EN

Stack Overflow用户
提问于 2021-03-11 16:51:11
回答 1查看 212关注 0票数 0

我需要生成变量sum,它将报告者-合作伙伴对和年份中的TA_envi_tot变化累加起来。reporter_isopartner_iso是字符串变量。同时,由egen id =group(reporter_iso partner_iso)生成id

我尝试了这些代码,但我无法生成下面"sum“列中的值:

代码语言:javascript
复制
bysort id (year): gen sum=TA_envi_tot[_n] + TA_envi_tot[_n+1] if TA_envi_tot[_n]!=TA_envi_tot[_n-1]
bysort id (year): replace sum = sum[_n-1] if missing(sum)

id  reporter_iso    partner_iso year    TA_envi_tot sum
3271    ATG              DEU    1981           0     0
3271    ATG              DEU    1982           0     0
3271    ATG              DEU    1983           0     0
3271    ATG              DEU    1984          36    36
3271    ATG              DEU    1985          36    36
3271    ATG              DEU    1986          36    36
3271    ATG              DEU    1987          67    103
3271    ATG              DEU    1988          67    103
3271    ATG              DEU    1989          67    103
4217    BDI              BEL    1981           3    3
4217    BDI              BEL    1982           3    3
4217    BDI              BEL    1983           3    3
4217    BDI              BEL    1984          35    38
4217    BDI              BEL    1985          35    38
4217    BDI              BEL    1986          35    38
4217    BDI              BEL    1987          35    38
4217    BDI              BEL    1988          36    74
4217    BDI              BEL    1989          36    74
4217    BDI              BEL    1990          36    74
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-11 17:25:11

代码语言:javascript
复制
clear 

input id  str3 (reporter_iso    partner_iso) year    TA_envi_tot sum
3271    ATG              DEU    1981           0     0
3271    ATG              DEU    1982           0     0
3271    ATG              DEU    1983           0     0
3271    ATG              DEU    1984          36    36
3271    ATG              DEU    1985          36    36
3271    ATG              DEU    1986          36    36
3271    ATG              DEU    1987          67    103
3271    ATG              DEU    1988          67    103
3271    ATG              DEU    1989          67    103
4217    BDI              BEL    1981           3    3
4217    BDI              BEL    1982           3    3
4217    BDI              BEL    1983           3    3
4217    BDI              BEL    1984          35    38
4217    BDI              BEL    1985          35    38
4217    BDI              BEL    1986          35    38
4217    BDI              BEL    1987          35    38
4217    BDI              BEL    1988          36    74
4217    BDI              BEL    1989          36    74
4217    BDI              BEL    1990          36    74
end 

bysort id (year) : gen wanted = sum(TA_envi_tot * (TA_envi_tot != TA_envi_tot[_n-1]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66579133

复制
相关文章

相似问题

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