全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2974 11
2013-05-31
a        b        c
173.2465        5.641        28375
173.2908        5.645        7161
173.1294        5.642        767098
197.2151        9.998        51203
197.2644        9.999        13350
197.0907        9.999        1193382
197.3505        10.001        6035
173.8311        6.39        6832
197.899        10.34        7456


上述数据中,任意两行观测的变量a和b相减,若-0.5=<变量a的差值=<0.5, -0.3=<变量b的差值=<0.3,则将这些观测输出。
谢谢各位了!
二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-31 10:03:53
任意两行需要全连接下,即
proc sql noprint;
select a.*,b.a as a_b,b.b as b_b,b.c as c_b
from table as a,table as b;
quit;

然后用data步算下a和a_b,b和b_b,c和c_b的差值,再筛选就好了

我这是麻烦的办法,可能还有好办法,等楼下的吧

二维码

扫码加我 拉你入群

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

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

2013-5-31 10:03:57
任意两行需要全连接下,即
proc sql noprint;
select a.*,b.a as a_b,b.b as b_b,b.c as c_b
from table as a,table as b;
quit;

然后用data步算下a和a_b,b和b_b,c和c_b的差值,再筛选就好了

我这是麻烦的办法,可能还有好办法,等楼下的吧

二维码

扫码加我 拉你入群

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

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

2013-5-31 10:05:25
PROC SQL;
SELECT _1.* FROM HAVE AS _1, HAVE AS _2 WHERE _1.A-_2.A BETWEEN -.5 AND .5 OR/AND _1.B-_2.B BETWEEN -.3 AND .3;
二维码

扫码加我 拉你入群

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

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

2013-5-31 10:12:24
jingju11 发表于 2013-5-31 10:05
PROC SQL;
SELECT _1.* FROM HAVE AS _1, HAVE AS _2 WHERE _1.A-_2.A BETWEEN -.5 AND .5 OR/AND _1.B-_2 ...
嗯,这个看起来简单多了
但还是要靠全连接吧
表大的话还是比较费时间的
二维码

扫码加我 拉你入群

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

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

2013-5-31 10:27:13
谢谢!我的表确实很大,有什么更精简的方法吗?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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