楼主: zhouershimei
7821 8

[数据管理求助] 请问各位大神如何在stata里将月度数据合并为年度数据? [推广有奖]

  • 2关注
  • 0粉丝

副教授

30%

还不是VIP/贵宾

-

威望
0
论坛币
78 个
通用积分
16.2269
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
15424 点
帖子
470
精华
0
在线时间
553 小时
注册时间
2011-5-13
最后登录
2024-4-24

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
已有的数据如下 月度数据.png

希望得到的数据如下 年度数据.png

stata新手,希望得到各位大神的指点,万分感谢!
二维码

扫码加我 拉你入群

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

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

关键词:Stata 年度数据 月度数据 数据合并 tata

回帖推荐

DΘstinyじò 发表于2楼  查看完整内容

建议用dataex命令(ssc install dataex)贴出示例数据 这样能知道你的变量的具体格式,如果你的month变量在stata是字符格式,尝试以下代码: 如果moth变量是stata的时间格式
沙发
DΘstinyじò 发表于 2020-9-17 13:20:26 |只看作者 |坛友微信交流群
建议用dataex命令(ssc install dataex)贴出示例数据
这样能知道你的变量的具体格式,如果你的month变量在stata是字符格式,尝试以下代码:
  1. gen year=real(substr(month,1,4))
  2. //或者gen year=year(date(month,"YM"))
  3. collapse (sum) value ,by(year company)
复制代码

如果moth变量是stata的时间格式
  1. gen year=year(dofm(month))
  2. collapse (sum) value ,by(year company)
复制代码

已有 2 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 2 + 2 + 2 精彩帖子
dajiaqi + 5 + 5 + 3 分析的有道理

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

使用道具

藤椅
zhouershimei 发表于 2020-9-17 19:33:35 |只看作者 |坛友微信交流群
DΘstinyじò 发表于 2020-9-17 13:20
建议用dataex命令(ssc install dataex)贴出示例数据
这样能知道你的变量的具体格式,如果你的month变量在 ...
感谢大神!!马上试试

使用道具

板凳
hahahaha66 发表于 2022-5-29 22:12:45 来自手机 |只看作者 |坛友微信交流群
DΘstinyじò 发表于 2020-9-17 13:20
建议用dataex命令(ssc install dataex)贴出示例数据
这样能知道你的变量的具体格式,如果你的month变量在 ...
不好意思,点错了

使用道具

报纸
hahahaha66 发表于 2022-5-29 22:14:05 来自手机 |只看作者 |坛友微信交流群
DΘstinyじò 发表于 2020-9-17 13:20
建议用dataex命令(ssc install dataex)贴出示例数据
这样能知道你的变量的具体格式,如果你的month变量在 ...
为啥看不到代码呀?请问可以再发一下吗?谢谢

使用道具

地板
Lee_iris 在职认证  学生认证  发表于 2022-10-4 17:07:38 |只看作者 |坛友微信交流群
DΘstinyじò 发表于 2020-9-17 13:20
建议用dataex命令(ssc install dataex)贴出示例数据
这样能知道你的变量的具体格式,如果你的month变量在 ...
请问如果是从日度数据加总到周度、两周度、月度,如何写命令?

使用道具

7
wlalalalalalAa 发表于 2023-6-10 13:21:49 |只看作者 |坛友微信交流群
Lee_iris 发表于 2022-10-4 17:07
请问如果是从日度数据加总到周度、两周度、月度,如何写命令?
请问会了吗

使用道具

8
Lee_iris 在职认证  学生认证  发表于 2023-6-11 18:13:37 |只看作者 |坛友微信交流群
wlalalalalalAa 发表于 2023-6-10 13:21
请问会了吗
1.首先是生成日度、周度、两周度、月度的变量:
      
  1. gen date =date(dataDate,"YMD") // dataDate是20210101这样的字符串,通过date命令转为日期形式
  2. gen month=substr(dataDate,5,2) // 生成月度变量

  3. format date %tdCY-N-D // 设置日期变量格式

  4. gen week=week(date) // 生成周度变量,这里的周度变量是按照那一天在日历上的自然周数得出的
复制代码



2.接下来对变量进行加总或者平均,例如进行城市-周度的加总
      
  1. bys city week: egen y_week=sum(y)
  2. bys city week: egen x_week=sum(x)        

  3.         
复制代码


再例如进行城市-周度的平均
      
  1. foreach x in x1 x2 x3 {[/size]
  2. [size=14px]        bys city week:egen mean_`x'=mean(`x')[/size]
  3. [size=14px]        }[/size]  
复制代码




3.再下来转为城市对周度数据
         
  1. duplicates drop city week,force[/size]
复制代码




使用道具

牛(wo)逼(ai)了(ni),试了试一天了 终于对了,感谢!!!

使用道具

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

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

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

GMT+8, 2024-4-25 15:25