Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sas 使用第二个数据集中的变量选择观测值_Sas_Dataset - Fatal编程技术网

Sas 使用第二个数据集中的变量选择观测值

Sas 使用第二个数据集中的变量选择观测值,sas,dataset,Sas,Dataset,我在SAS中有两个数据集。它们都包含相同的变量x。在第一个数据集中,我想删除那些x值也在第二个数据集中x值中的观察值 例如 data set1; input x y z; datalines; 1 1.5 2.2 1 2.1 9.0 2 4.2 4.4 3 4.5 2.4 ; run; data set2; input x y; datalines; 1 15 2 44 ; run; 在集合1中,

我在SAS中有两个数据集。它们都包含相同的变量
x
。在第一个数据集中,我想删除那些
x
值也在第二个数据集中
x
值中的观察值

例如

data set1;
    input x y z;
    datalines;
    1 1.5 2.2
    1 2.1 9.0
    2 4.2 4.4
    3 4.5 2.4
    ;
run;

data set2;
    input x y;
    datalines;
    1 15
    2 44
    ;
run;

在集合1中,如果
x=1
x=2
其中1和2来自第二个数据集中的
x
值,我希望删除这些观察值。我只想保留集合1中的最后一行。

所以你的最终答案应该只包括3行?有几种方法,但我发现这是理解的最清晰的方法

proc sql;
create table want as
select * 
from set1
where x not in (select x from set2);
quit;

所以你的最终答案应该只包括3个?有几种方法,但我发现这是理解的最清晰的方法

proc sql;
create table want as
select * 
from set1
where x not in (select x from set2);
quit;

所以你的最终答案应该只包括3个?有几种方法,但我发现这是理解的最清晰的方法

proc sql;
create table want as
select * 
from set1
where x not in (select x from set2);
quit;

所以你的最终答案应该只包括3个?有几种方法,但我发现这是理解的最清晰的方法

proc sql;
create table want as
select * 
from set1
where x not in (select x from set2);
quit;
数据步骤版本:

data want;
  merge set1(in = _1) 
        set2(in = _2 keep = x);
  by x;
  if _1 and not(_2);
run;
这假设set1和set2都已按x排序,或在x上有索引。

数据步骤版本:

data want;
  merge set1(in = _1) 
        set2(in = _2 keep = x);
  by x;
  if _1 and not(_2);
run;
这假设set1和set2都已按x排序,或在x上有索引。

数据步骤版本:

data want;
  merge set1(in = _1) 
        set2(in = _2 keep = x);
  by x;
  if _1 and not(_2);
run;
这假设set1和set2都已按x排序,或在x上有索引。

数据步骤版本:

data want;
  merge set1(in = _1) 
        set2(in = _2 keep = x);
  by x;
  if _1 and not(_2);
run;
这假设set1和set2都已按x排序,或者在x上有一个索引