小弟最近遇到一个程序,老是不满意,而自己水平有限,特意请教版上各位大神。
我的一个数据集FACTOR3SIZE
是这个
code | date | meanri |
1 | 200602 | 0.036 |
2 | 200602 | 0.0068 |
3 | 200602 | -0.0082 |
4 | 200602 | 0.025 |
5 | 200602 | 0.014 |
6 | 200602 | 0.017 |
1 | 200603 | 0.034 |
2 | 200603 | 0.0059 |
3 | 200603 | -0.0078 |
4 | 200603 | 0.026 |
5 | 200603 | 0.018 |
6 | 200603 | 0.014 |
我希望重新建立个数据集,增加变量SMB,让date相同的SMB都相等,都等于相同date下的编号1,2,3的meanri的均值减去4,5,6的meanri的均值。
我查了下书给的程序是
data factor3size1;
set factor3size;
by date;
smb=(lag5(meanri)+lag4(meanri)+lag3(meanri))/3-(lag2(meanri)+lag(meanri)+meanri)/3;
但是这样编出来运行后,前五个CODE的SMB没有,而且date200603的SMB计算用到了200602的数据,明显不是我想要的结果,而且我还不知道LAG的反函数是什么。
真心求教各位版上大神能否帮忙解决下!