如何在 SAS 中合并此类数据集?
How to Merge Datasets of this kind in SAS?
我有两个这样的SAS数据集。
数据集A
数据集B
我期望的输出如下所示。这不过是数据集 A - 数据集 B
我对 SAS 非常陌生,所以我无法理解如何合并这两个数据集并找到值之间的差异。我在这里面临的另一个挑战是合并应该在行到行而不是列的基础上完成。即例如
The value in First Column should match with the Value of First column in the Dataset b.
Then if that Matches the Values in Second columns should match. If they Match then the values in the 3rd Columns should get subtracted.
即使我无法合并两个数据集,是否还有其他方法可以找到值之间的差异并将其存储在新的 SAS 输出文件中。
有人可以帮我解决这个问题吗?提前致谢。
h这个能行吗:
data have1;
m = 'x'; n = 'a'; val = 1; output;
m = 'x'; n = 'b'; val = 23; output;
m = 'y'; n = 'e'; val = 12; output;
m = 'y'; n = 'f'; val = 13; output;
run;
data have2;
m = 'x'; n = 'a'; val = 2; output;
m = 'x'; n = 'b'; val = 3; output;
m = 'y'; n = 'e'; val = 13; output;
m = 'y'; n = 'f'; val = 15; output;
run;
proc sql;
create table want as
select h1.m, h1.n, h1.val - h2.val from have1 h1, have2 h2 where h1.m = h2.m and h1.n = h2.n;
quit;
m 列实际上在这里没有作用,因为当 m 改变时 n 是唯一的。也许这只是您展示示例的方式
我有两个这样的SAS数据集。
数据集A
数据集B
我期望的输出如下所示。这不过是数据集 A - 数据集 B
我对 SAS 非常陌生,所以我无法理解如何合并这两个数据集并找到值之间的差异。我在这里面临的另一个挑战是合并应该在行到行而不是列的基础上完成。即例如
The value in First Column should match with the Value of First column in the Dataset b.
Then if that Matches the Values in Second columns should match. If they Match then the values in the 3rd Columns should get subtracted.
即使我无法合并两个数据集,是否还有其他方法可以找到值之间的差异并将其存储在新的 SAS 输出文件中。
有人可以帮我解决这个问题吗?提前致谢。
h这个能行吗:
data have1;
m = 'x'; n = 'a'; val = 1; output;
m = 'x'; n = 'b'; val = 23; output;
m = 'y'; n = 'e'; val = 12; output;
m = 'y'; n = 'f'; val = 13; output;
run;
data have2;
m = 'x'; n = 'a'; val = 2; output;
m = 'x'; n = 'b'; val = 3; output;
m = 'y'; n = 'e'; val = 13; output;
m = 'y'; n = 'f'; val = 15; output;
run;
proc sql;
create table want as
select h1.m, h1.n, h1.val - h2.val from have1 h1, have2 h2 where h1.m = h2.m and h1.n = h2.n;
quit;
m 列实际上在这里没有作用,因为当 m 改变时 n 是唯一的。也许这只是您展示示例的方式