我想根据SAS中的条件语句输出特定的观察结果

时间:2013-11-25 21:19:33

标签: logic sas

以下是我的代码。我希望作者=知道它是否是下面列出的论文之一,如果不是下面列出的论文之一,我希望作者等于一个等于相应论文编号的字符值。完成后,我想将观察结果输出到两个不同的数据集。如果作者是已知的,我想输出到knownauthor,如果作者是未知的,我想输出到unknownauthor。我完全陷入困境。任何帮助将不胜感激。

data knownauthor unknownauthor;
    set t_wordlist_summary;
        if paper=1-17 or paper=21-48 or paper=59-61 or paper=64-85 then author="known";
        else author=input(paper, 2.);
        if author="known" then output knownauthor;
        else output unknownauthor;

2 个答案:

答案 0 :(得分:0)

我在这里创建了新的数据线。并根据您的详细信息进行编码。

数据新; 输入文件; 牌; 1 2 3 4 五 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ;

数据已知未知;   新的;   如果1 le le le 3或5 le le le 9那么;      author =“知道”;   输出已知;   端;

别的;     笔者=压缩(认沽(纸,最好的)。);   输出未知;   结束; 运行;

答案 1 :(得分:0)

您的条件表达式

if paper=1-17 or paper=21-48 or paper=59-61 or paper=64-85

看起来不对。它现在实际上等同于条件if paper=-16 or paper=-27 or paper=-2 or paper=-21,这显然不是你的意思,对吗?您需要将其重写为

1<=paper<=17 or 21<=paper<=48 or 59<=paper<=61 or 64<=paper<=85

author=input(paper, 2.)的另一个问题。如果要将数字纸张值转换为字符,则必须使用put()函数。