IF-THEN语句SAS中的多个条件/变量

迈克·L

我有一个包含两个变量的数据集,我正在尝试从中创建新的组。第一个变量是“宗教信仰”,第二个变量是“ Av_Anti”,都是数字变量。我正在尝试创建分为9个组的组,具有低/中/高宗教性和低/中/高Av_Anti。

DATA LYING1;
SET LYING;
    IF RELIGIOSITY = (1 OR 2) AND Av_anti <=3 THEN Rel_Anti = "LowR,LowA";
    IF RELIGIOSITY = (1 OR 2) AND Av_anti (>3 AND <=7) THEN Rel_Anti = "LowR,MidA";
    IF RELIGIOSITY = (1 OR 2) AND Av_anti >7 THEN Rel_Anti = "LowR,HighA";
    IF RELIGIOSITY = (3 OR 4 OR 5) AND Av_anti <=3 THEN Rel_Anti = "MidR,LowA";
    IF RELIGIOSITY = (3 OR 4 OR 5) AND Av_anti (>3 AND <=7) THEN Rel_Anti = "MidR,MidA";
    IF RELIGIOSITY = (3 OR 4 OR 5) AND Av_anti >7 THEN Rel_Anti = "MidR,HighA";
    IF RELIGIOSITY = (6 OR 7) AND Av_anti <=3 THEN Rel_Anti = "HighR,LowA";
    IF RELIGIOSITY = (6 OR 7) AND Av_anti (>3 AND <=7) THEN Rel_Anti = "HighR,MidA";
    IF RELIGIOSITY = (6 OR 7) AND Av_anti >7 THEN Rel_Anti = "HighR,HighA";
    ELSE Rel_Anti = "Error";
RUN;

我不断收到消息

  "The function AV_ANTI is unknown, or cannot be accessed." 

关键是,我检查了该变量,并正确拼写了该变量,并在调用的数据集中列出了该变量。我不知道为什么SAS无法将其识别为变量?我似乎在逻辑运算符(>,<=)方面也遇到了一些问题。我想念什么吗?

里扎

您的比较/范围中有无效的SAS语法。您应该使用IN运算符检查是否包含在值列表中,然后将每个变量与边界进行比较。(即不是:

Av_anti (>3 AND <=7) 

但:

Av_anti>3 and Av_anti<=7

或者 :

3<AV_atni<=7

以下应该工作。我还认为您打算在其他情况下而不是在所有条件下使用else,否则您的最后一个条件将全部设置为Error或LowR / MidA。

DATA LYING1;
SET LYING;
    IF RELIGIOSITY in (1, 2) AND Av_anti <=3 THEN Rel_Anti = "LowR,LowA";
    ELSE IF RELIGIOSITY in  (1, 2) AND (Av_anti >3 AND AV_anti<=7) THEN Rel_Anti = "LowR,MidA";
    ...
    ELSE Rel_Anti = "Error";
RUN;

更好的解决方案可能是:

Data lying1;
    set lying;
    IF RELIGIOSITY in (1, 2) then P1='LowR';
    else IF RELIGIOSITY in (3, 4, 5) then P1='MidR';
    else IF RELIGIOSITY in (6,7) then P1='HighR';
    else P1='Error';

    if av_anti<=3 then P2='LowA';
    else if  3<av_anti<=7 then P2='MidA';
    else if AV_Anti>7 then 'HighA';
    else P2='Error';

    Rel_Anti=catx(",", P1, P2);
run;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SAS中使用If-then语句,多个变量

来自分类Dev

If语句Verilog中的多个条件

来自分类Dev

Robot条件中的多个语句

来自分类Dev

变量中的Mapbox多个If语句

来自分类Dev

多个条件与多个语句

来自分类Dev

多个条件与多个语句

来自分类Dev

Swift中的if语句具有多个条件

来自分类Dev

在MATLAB和多个条件中查找语句

来自分类Dev

Swift中Guard语句中的多个条件

来自分类Dev

javascript中的if语句中的多个条件

来自分类Dev

LINQ中where语句中的多个条件

来自分类Dev

方括号中的多个条件语句

来自分类Dev

多个变量的多个if语句

来自分类Dev

使用数组和do循环条件化SAS中的语句

来自分类Dev

使用数组和do循环条件化SAS中的语句

来自分类Dev

条件语句中具有多个值的 Ansible 变量

来自分类Dev

SAS 中的 If/Then 语句

来自分类Dev

VBA 中的多个条件格式变量

来自分类Dev

如何在 if 条件中引用多个变量

来自分类Dev

来自条件语句的变量

来自分类Dev

Swift“ If”语句的多个条件?

来自分类Dev

多个条件语句的AND / OR(&& / ||)逻辑

来自分类Dev

IF语句中的多个OR或AND条件

来自分类Dev

if语句中的多个条件

来自分类Dev

if语句的多个条件

来自分类Dev

if 语句中的多个或条件

来自分类Dev

多个条件的if语句

来自分类Dev

bash 'if' 语句的多个条件

来自分类Dev

如何使用条件在SAS中创建变量的子集