楼主: lpw3582288
2360 6

[编程问题求助] 求助,如何把相近的日期都设置成同一个值? [推广有奖]

  • 1关注
  • 4粉丝

学前班

博士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
11.0119
学术水平
6 点
热心指数
7 点
信用等级
5 点
经验
13353 点
帖子
240
精华
0
在线时间
295 小时
注册时间
2013-7-6
最后登录
2022-5-2

楼主
lpw3582288 发表于 2014-5-25 10:56:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据如下

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
}

二维码

扫码加我 拉你入群

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

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

关键词:preserve excel表格 Reserve Excel表 用excel 如何

沙发
lpw3582288 发表于 2014-5-25 10:58:33
不好意思,数据贴的有点问题,只有 id 与 date 两列  第一列与第一行只是确定位置的辅助用的请给位忽略

藤椅
圆月李 学生认证  发表于 2014-5-25 11:13:23
lpw3582288 发表于 2014-5-25 10:58
不好意思,数据贴的有点问题,只有 id 与 date 两列  第一列与第一行只是确定位置的辅助用的请给位忽略
不知道你用的是什么语言编程。。。不过主要思想可以用if函数,自己事先定好临界值来划分区间。
已有 3 人评分经验 论坛币 热心指数 信用等级 收起 理由
admin_kefu + 50 热心帮助其他会员
crystal8832 + 10 + 1 热心帮助其他会员
lpw3582288 + 1 + 1 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 50  热心指数 + 2  信用等级 + 1   查看全部评分

板凳
lpw3582288 发表于 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……听说过,没用过,爱莫能助~

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

7
lpw3582288 发表于 2014-5-25 11:50:06
已解决 谢谢各位!

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

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