楼主: vincent829
18608 24

[其他] 关于连乘的问题 [推广有奖]

11
vincent829 发表于 2009-2-15 21:43:00
没人回答吗?我都卡住2天了。。。

12
蓝色 发表于 2009-2-16 07:21:00

你还是没有说清楚你的问题

13
蓝色 发表于 2009-2-16 07:22:00

你把你的部分数据上传,放到excel里面,

在excel里面手动计算出你想要的结果,这样别人就知道你想做什么了。

14
vincent829 发表于 2009-2-16 09:27:00

294007.xlsx (12.02 KB)


对我的表达能力汗颜,麻烦版主了,我把我的问题和部分样本放在excel文档里了,希望这次能让大家明白我的意图,谢谢

15
蓝色 发表于 2009-2-16 09:41:00

没有office2007,打不开

16
vincent829 发表于 2009-2-16 09:47:00
294014.xls (21.5 KB)
不好意思,我改成03的格式了

17
蓝色 发表于 2009-2-16 10:16:00

不清楚为什么你的每个月的数值都是相同的。

如果是不同的不知道你的公式是怎么算的。

下面的是可以产生和你的x相同值的程序

sort  id event_d event_m

gen x1= msr

by id  event_d: replace x1=x1[_n-1]* msr if  event_m>1

18
vincent829 发表于 2009-2-17 00:12:00

因为msr代表的是公司月收益,所以一个月里面21天的数据都是一样的,我只是贴了3天的数据

命令好像不太对,event_d指的是一个月里面的第几天,每一个月event_m的event_d都是从1开始,到3结束

如果按照所写命令,每个ID里面的X都是一样的,我在Stata里面试过

19
vincent829 发表于 2009-2-17 22:05:00

各位高手,帮帮小弟吧

20
vincent829 发表于 2009-2-20 07:23:00

我解决了,下面的命令可以用,但不知道是不是最简单的


by id: gen cpmmr=msr[1]
forvalues i=2/61{
by id: replace cpmmr=cpmmr[1+(`i'-2)*3]*msr[1+(`i'-1)*3] if event_m==`i'
}

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

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