全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2381 11
2014-10-17
各位大师:
有这样一个数据集:
data test;
input stockcode $ time price;
cards;
000001        2005 15
000001        2005 16
000001        2006 17
000002        2005 18
000002        2006 19
000002        2007 20
;
希望将第一行(前n行)的Price列置为空置。
也就是希望得到下面的数据。
000001        2005 .
000001        2005 .
000001        2006 17
000002        2005 .
000002        2006 19
000002        2007 20
如果用first的话只能设置第一行。像000001这种情况希望头两行都为空,谢谢。

二维码

扫码加我 拉你入群

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

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

全部回复
2014-10-18 12:39:21
顶顶呵呵
二维码

扫码加我 拉你入群

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

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

2014-10-18 20:58:27
得把要求说清楚
二维码

扫码加我 拉你入群

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

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

2014-10-18 22:14:53
谢谢楼上顶贴,就是就是希望把每个stockcode,time的第一行的Price清空。这个可以用first很容易实现。但是如果对于同一个stockcode来说它头两行stockcode,time相同的话,怎么去清空?谢谢。不知道我说明白没有。
二维码

扫码加我 拉你入群

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

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

2014-10-18 22:41:38
不知道以下的程序是不是楼主想要的。我也新手,共同来学习
proc sort data = test;
        by stockcode time price;
run;
data test1;
        set test;
        flg = lag(time);
        by stockcode;
        if first.stockcode then call missing(price);
        if time = flg then call missing(price);

        drop flg;

run;
二维码

扫码加我 拉你入群

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

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

2014-10-18 23:08:57
谢谢楼上兄弟,但不能完全实现我的要求,就是数据如下所示时,不想请空第三行的数据。您的程序会把第三行也清空了。不过非常谢谢您的回帖。我的意思可能没解释清楚,就是我想清空头n行的数据。
000001        2004 15
000001        2005 16
000001        2005 17
000002        2005 18
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群