楼主: wdxmahone
5579 20

sas如何删除前面为0的项 [推广有奖]

11
frackdeng 发表于 2010-2-4 15:42:10
frackdeng 发表于 2010-2-4 14:22
data a1;
      set a;
      z+abs(y);
      if z^=0;
      keep x y;
run;


1# wdxmahone
是忘记分组了。
proc sort data=a;
     by x;
run;

data a1;
   set a;
   by x;
   if first.x then z=0;
   z+abs(y);
   if z^=0;
   keep x y;
run;
现在好像可以了。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
wdxmahone + 1 + 1 + 1 非常热心,而且很有学术水平

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

12
wdxmahone 发表于 2010-2-4 15:43:29
7# 醉_清风
您好,有没有兴趣看一下这个帖子,我现在还没有找到非常好的方法,有人解了一下,但是可能运行比较费时,而且其中也有一些小问题,我觉得可以从另外的思路想一下。谢谢哈!
http://www.pinggu.org/bbs/thread-700990-1-1.html

13
醉_清风 发表于 2010-2-4 15:45:42
10# wdxmahone

不错 学习了
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
wdxmahone + 1 + 1 + 1 非常好

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

从来不需要想起 永远也不会忘记

14
醉_清风 发表于 2010-2-4 16:28:29
12# wdxmahone
不好意思 这个帖子之前我就看过了 暂时没有更好的想法
从来不需要想起 永远也不会忘记

15
gzjb 发表于 2010-2-5 11:13:16
proc sort data=a out=b nodup;
by x y ;
run;

proc print data=b noobs; run;


*** For your data input, you don't need @@  ***;

16
wdxmahone 发表于 2010-2-5 12:36:48
15# gzjb

谢谢哈,这个可能就是进行了排序,删除了一些重复的观察值,如果观察值之间不重复的话就没有结论了,比如我就加入一个变量(num),这样就删减不了了,而且实际情况中确实是有很多变量的,而且这种情况有时候会删掉一些本不该删掉的东西。不过这个思想也是挺好的,可以改进一下使用,比如先提取出一些变量来改变,然后再merge一下就应该可以了。

另外,谢谢您提醒,特别严谨。我先前加上@@本来不想分行写的,后来觉得分开写比较清晰,就懒得改回来了。。。

17
zcy1423 在职认证  发表于 2010-2-5 13:16:03
学习了,呵呵

18
杨任植 发表于 2010-2-5 14:01:14
完全不明白 呵呵 不好意思了 呵呵

19
yuanfei0823 发表于 2010-2-5 14:05:44
ding!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

20
liuzhm 发表于 2010-2-5 16:34:18
proc sort data=a nodupkey;
  by x y;
run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 14:14