SAS逻辑表达;如何使用AND NOT

时间:2016-12-19 23:43:03

标签: sas

我见过这样的SAS数据。

data combined;
merge demo(in=d) history(in=p); by id;
if d and not p;
run;

if d and not p是什么意思?我的教科书说它和

一样
a. if d>p or
b. if d^=p and d
c. if d^=p and not p
d. All of above.

我的猜测是b,但我不确定对逻辑的正确理解是什么。

1 个答案:

答案 0 :(得分:2)

这是使用数据集选项IN

合并时: 如果在DEMO中找到记录,则D设置为1,否则设置为0。 如果在HISTORY中找到记录,则P设置为1,否则为0.

为了评估SAS逻辑,1可以被认为是TRUE而0是假的。

评估为真的答案: 如果d> p - >;仅当D = 1,P = 0

时才为真

如果d和p - > D = 1,P = 0 对于AND为TRUE,两个分量必须为真,这意味着D = 1。

如果d p p且NOT P - > D = 1,P = 0 NOT P为TRUE表示P = 0

所有的决心都是一样的,所以答案是D.