楼主: wang91utk2017
941 2

[编程问题求助] 请教如何根据timestamp对一个变量按每小时和每天rolling forward求平均 [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
173 点
帖子
18
精华
0
在线时间
32 小时
注册时间
2016-12-3
最后登录
2018-6-18

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位老师,同学。本人不才,遇到对一个变量按照日期时间滚动求平均的问题。求教各位,不胜感激!
数据结构请见下图:
rp_entity_id 是代表企业, 数据集中有n多个不同的企业
tc0是一条关于这个企业的财经新闻的发布时间 (比如第一个observation时间是2007年1月1日06:06)
td1是一条关于这个企业的财经新闻的发布日期(比如第一个observation时间是2007年1月1日)
css是这条新闻对于企业的的评价分数sentiment score
-------------------------------------------------
1) 我想计算的一组变量:AveCss1h 代表以当前新闻发布时间为起点,此后forward第一个小时之内所有新闻的sentiment scores的平均值。AveCss2h,AveCss3h...AveCssnh以此类推为forward第二,第三,直到第n个小时之内每小时所有新闻的sentiment scores的平均值。
(比如,2007年1月1日06:06, forward第一小时是06:06-07:06,forward第二个小时是07:06-08:06)
1) 我想计算的另一组变量:AveCss1d 代表以当前新闻发布时间为起点,此后forward第一天之内所有新闻的sentiment scores的平均值。AveCss2d,AveCss3d...AveCssnd以此类推为forward第二,第三,直到第n天之内每天所有新闻的sentiment scores的平均值。(比如,2007年1月1日,forward第一天是1月1日-1月2日,forward第二天是1月2日-1月3日)
----------------------------------------------------
请教各位这个rolling forward average应当怎样编程。万分感谢!
Capture.PNG

二维码

扫码加我 拉你入群

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

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

关键词:rolling forward Times stamp roll forward 如何

沙发
夏目贵志 发表于 2016-12-8 08:47:28 |只看作者 |坛友微信交流群
这个还是比较有意思的。之前我也想做相关的研究来着,但是后来因为各种原因就没有继续了。

使用道具

藤椅
wang91utk2017 发表于 2016-12-8 11:23:40 |只看作者 |坛友微信交流群
写了一个loop计算1day,可是有如下报错
use "<data path>"
gen groupmean=.
. local N=_N
. forval i=1/`N'{
  2. sort rp_entity_id
  3. by rp_entity_id: egen groupmean=mean(css)
  4. inrange ( td0[`i'+1]-td0[`i'],1,2)
  5. replace groupmean=groupmean in `i'
  6. }
unrecognized command:  inrange
r(199);



此外尝试了 inrange (td0 [`i'] ,  td0 [`i'] , td0[`i'] + 1 day)
报错
inrange not found
r(111);


使用道具

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

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

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

GMT+8, 2024-5-24 01:01