csv - SAS EG:排除数据集
问题描述
我试图排除出现在名为 - clmspull 和注册的表中的个人列表。关键是要排除那些患有糖尿病的人,因为我们正在寻找那些接受过糖尿病筛查的人。
我将列表保存为名为“diabexc”的永久数据集。我知道我在某处进行了合并,例如:
data excdiab; /*new data set that will exclude the diabetics*/
merge diabexc (IN=a) clmspull (IN=b) enroll (IN=c);
by edipn;
run;
我不确定这是否正确,我觉得我在正确的轨道上......我们只是希望这些人从数据中删除。
这是今天到期的,所以我很着急。非常感谢您提供的任何帮助!谢谢你。
解决方案
在合并语句之后,通过在代码中使用 if a = 1 和 b = 0 和 c = 0 来实现类似下面的内容。您也可以使用 if a 而不是 (b or c) 来代替。这意味着来自第一个数据集的记录不在第二个或第三个数据集中。
data diabexc; input edipn ; datalines; 1 2 3 4 ;
data clmspull;
input edipn ;
datalines;
3
5
;
data enroll;
input edipn ;
datalines;
2
6
;
data excdiab; /*new data set that will exclude the diabetics*/
merge diabexc (IN=a) clmspull (IN=b) enroll (IN=c);
by edipn;
if a = 1 and b = 0 and c = 0;
run;