我有两个数据集。两者都有一个共同的列ID。我想检查来自df1的ID是否位于df2中并从df1中提取所有这些行。我在SAS做这件事。
答案 0 :(得分:1)
可以在一个SQL查询中轻松完成。
proc sql;
create table extract_from_df1 as
select
*
from
df1
where
id in (select id from df2)
;
quit;
答案 1 :(得分:0)
有很多方法可以做到这一点。例如:
proc sql;
create table compare as select distinct
a.id as id1, b.id as id2
from table1 as a
left join table2 as b
on a.id = b.id;
quit;
然后保持比赛。或者你可以试试:
proc sql;
delete from table2 where id2 in select distinct id1 from table1;
quit;
答案 2 :(得分:0)
数据df1;
输入ID名称$;
卡;
1 abc
2 cde
3 fgh
4 ijk
;
运行;
数据df2;
输入ID地址$;
卡;
1 abc
2 cde
5 ggh
6 ihh
7 jjj
;
运行;
数据c;
合并df1(in = x)df2(in = y);
如果x和y;
保留id名称;
运行;
proc print data = c;
运行;