combd datasetSAS if-else if not working
SAS正在检查第一个if语句,并且由于某种原因忽略其他语句。对于一对夫妇obs“class”= 1,对于所有其他人,它是空白的。我该怎么办?我确实需要括号将这些“或”语句分组。附加的是梳理数据集。刚刚注意到,在SAS中class = 1的obs是错误的!
data clustered;
set combd;
if ((393821 ge avpm le 450041) or (337601 ge avpm le 393821) or (225161
ge avpm le 281381)) and (.8768 ge fsp le 1) then class='1';
else if ((112720 ge avpm le 168940) or (56500 ge avpm le 112720) or
(280.06 ge avpm le 56500)) and (.8768 ge fsp le 1) then class='2';
else if (280.06 ge avpm le 56500) and ((.507 ge fsp le .6303) or
(.3838 ge fsp le .507) or (.2606 ge fsp le .3838)) then class='3';
else if (280.06 ge avpm le 56500) and ((.1373 ge fsp le .2606) or
(.0141 ge fsp le .1373)) then class='4';
else if (280.06 ge avpm le 56500) and (.8768 ge fsp le 1) then
class='5';
else if (280.06 ge avpm le 56500) and ((.8768 ge fsp le 1) or
(.7535 ge fsp le .8768) or (.6303 ge fsp le .7535)) then
class='6';
run;
必须有一个原因,否则if if条件为真。我不认为没有输入样本,任何人都可以告诉你为什么。 – Petr
Ok Petr。所以你非常自信有没有写错代码,因为我写了它? – mbs23
我没有看到任何语法问题。我现在要尝试的第一件事是检查输入数据与剩余的“else if”条件。或者,您可以发布数据样本。 – Petr