全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1353 6
2016-10-31
悬赏 20 个论坛币 未解决
复制代码
如何找出每个个体中x值小于2并离2最近的观测,用一个新变量标记。
谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-10-31 23:31:21
问题转化为每个ID的x<2的min(2-x)OBS.
proc sql;
create table obs as select min(2-x) as min,no,x from aaa where x<2 group by no having min=(2-x);
quit;
二维码

扫码加我 拉你入群

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

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

2016-10-31 23:36:52
wang1839 发表于 2016-10-31 23:31
问题转化为每个ID的x
数据集aaa中多一个变量,比如用0表示每个个体中x值小于2并离2最近的观测。
二维码

扫码加我 拉你入群

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

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

2016-11-1 08:41:08
proc sql;
create table wanted as
select a.*, minx
from aaa a left join
(select *, abs(x-2) as y, 0 as minx
from aaa
where x<2
group by 1
having y=min(y)) b
on a.no=b.no and a.x=b.x;
quit;
二维码

扫码加我 拉你入群

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

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

2016-11-1 09:28:06
merge回去 by no x,然后min 不为空FLAG=0;ELSE flag=1
二维码

扫码加我 拉你入群

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

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

2016-11-1 09:54:19
我的答案
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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