全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2305 6
2014-05-25
数据如下

A



B



1



id



date



2


  

2

  

2005/10/12



3


  

1

  

2005/10/14



4



3



2005/10/14



5


  

1

  

2005/10/21



6


  

2

  

2005/10/21



7



3



2005/10/21



8


  

2

  

2005/10/25



9


  

1

  

2005/10/28



10



3



2005/10/28



11


  

1

  

2005/11/4



12


  

2

  

2005/11/4



13



3



2005/11/4



14


  

1

  

2005/11/11



15


  

2

  

2005/11/11



16



3



2005/11/11



17


  

1

  

2005/11/18



18


  

2

  

2005/11/18



19



3



2005/11/18



20


  

1

  

2005/11/25



21


  

2

  

2005/11/25



22



3



2005/11/25



23


  

1

  

2005/12/2



24


  

2

  

2005/12/2



25



3



2005/12/2



26


  

3

  

2005/12/7



27



1



2005/12/9


想通过处理变成这样

A



B



C



1



id



date



week



2



2



2005/10/12



1



3



1



2005/10/14



1



4



3



2005/10/14



1



5



1



2005/10/21



2



6



2



2005/10/21



2



7



3



2005/10/21



2



8



2



2005/10/25



3



9



1



2005/10/28



3



10



3



2005/10/28



3



11



1



2005/11/4



4



12



2



2005/11/4



4



13



3



2005/11/4



4



14



1



2005/11/11



5



15



2



2005/11/11



5



16



3



2005/11/11



5



17



1



2005/11/18



6



18



2



2005/11/18



6



19



3



2005/11/18



6



20



1



2005/11/25



7



21



2



2005/11/25



7



22



3



2005/11/25



7



23



1



2005/12/2



8



24



2



2005/12/2



8



25



3



2005/12/2



8



26



3



2005/12/7



9



27



1



2005/12/9



9


最近在算周动量因子,需要设置以周为单位表示时间的变量week
但是在数据库中下的数据不同股票的每周的结尾时间会出现不同,如表一最上面三组数据会出现相差3天左右的情况
请问如何编写程序可以把日期差距在四天以内的观测值都生成一个相同的week变量。生成如表二的数据

这是我自己编的。。。有问题跑不出来
var7是我用excel表格吧日期都变成数字的形式产生的新的变量
mat week=[0]
local total=_N
forval i = 1/`total' {
sort var7
preserve
local b= var7[`i']
local a = var7[`i']

if (`b'<`a'+4)==1{
mat week=[week \ `a']
}
if (`b'<`a'+4)==0{
mat week=[week \ `b']
}
restore
}

二维码

扫码加我 拉你入群

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

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

全部回复
2014-5-25 10:58:33
不好意思,数据贴的有点问题,只有 id 与 date 两列  第一列与第一行只是确定位置的辅助用的请给位忽略
二维码

扫码加我 拉你入群

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

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

2014-5-25 11:13:23
lpw3582288 发表于 2014-5-25 10:58
不好意思,数据贴的有点问题,只有 id 与 date 两列  第一列与第一行只是确定位置的辅助用的请给位忽略
不知道你用的是什么语言编程。。。不过主要思想可以用if函数,自己事先定好临界值来划分区间。
二维码

扫码加我 拉你入群

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

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

2014-5-25 11:18:12
圆月李 发表于 2014-5-25 11:13
不知道你用的是什么语言编程。。。不过主要思想可以用if函数,自己事先定好临界值来划分区间。
十分感谢你的回答~我用的stata 我也想过用if函数编。。。不过我编的貌似有问题 编程有点菜。。。一遇到 forval 里面套if循环接着保存数据就歇菜了。。。所以前来询问。。。
二维码

扫码加我 拉你入群

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

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

2014-5-25 11:19:16
lpw3582288 发表于 2014-5-25 11:18
十分感谢你的回答~我用的stata 我也想过用if函数编。。。不过我编的貌似有问题 编程有点菜。。。一遇到 f ...
stata……听说过,没用过,爱莫能助~
二维码

扫码加我 拉你入群

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

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

2014-5-25 11:20:06
圆月李 发表于 2014-5-25 11:19
stata……听说过,没用过,爱莫能助~
3Q, anyway
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群