code | pricedate | pends | anndats | n |
4 | 104 | 16 | ||
4 | 103 | 15 | ||
4 | 102 | 1 | 102 | 14 |
2 | 107 | 13 | ||
2 | 106 | 2 | 106 | 12 |
2 | 105 | 11 | ||
2 | 104 | 10 | ||
2 | 103 | 1 | 103 | 9 |
2 | 102 | 8 | ||
2 | 101 | 7 | ||
1 | 107 | 6 | ||
1 | 105 | 5 | ||
1 | 104 | 2 | 104 | 4 |
1 | 103 | 3 | ||
1 | 102 | 1 | 102 | 2 |
1 | 101 | 1 |
/******************************/
data b;
set a;
if code=lag(code) and pends=. then anndats=lag(anndats);
run;
/******************************/
(剩下没能填充的不用管,因为我打算根据升序n反方向填充,但程序无实质差异。)
现在我的问题是:
1、为什么我的程序跑了数据完全没有任何变化?请问是哪里出错?
2、对于数据量特别特别特别大的时候,这个算不算相对“简单”的方法?是否有利于节约时间和硬盘空间?
谢谢!
我知道填充缺失值的方法肯定很多,欢迎大家都告诉我,但同时我更想知道这次错在哪里,谢谢!