我的数据集格式如下:
code year td md ch
600001 2008-01-01 0.455 . -200
600001 2008-01-02 0.456 . -199
600001 2008-01-03 0.457 . -198
·······
600001 2008-06-21 0.432 . -1
600001 2008-06-22 0.431 . 1
600001 2008-06-23 0.435 . 2
······
600002 2008-01-01 0.778 . -200
······
两个目标:
(1)如果md=.的话,就将code相同的md全部替换为ch=2时的td。
个人感觉可能要用到宏命令来筛选md=.的全部观测值,然后,确定ch=2时的td值,再接下来将code相同的所有空缺的md全部换成code相同且ch=2时的td值。这个操作感觉有点复杂。所以,请高手指点。
我原来的操作是手工使用replace命令,一个个的替换。感觉很容易出错。且当数据量超过几十个,甚至达到几百个时就感觉很绝望了。
(2)如果ch==2 & md==.没有获取观测值时,就将命令修改为ch==3 & md==.。改完ch==3 & md==.后,再筛选ch==4 & md==.的情况。修改完后,在筛选ch==5 & md==.的情况进行修改。依次进行直到修改完ch==8 & md==.。如果ch>=9 & md==.那么就将这样的观测值删除。这是比(1)更复杂的程序。我更感觉到绝望了。
请高手指点迷津。谢谢。谢谢。


雷达卡



京公网安备 11010802022788号







