以下是我的代码。我希望作者=知道它是否是下面列出的论文之一,如果不是下面列出的论文之一,我希望作者等于一个等于相应论文编号的字符值。完成后,我想将观察结果输出到两个不同的数据集。如果作者是已知的,我想输出到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;
答案 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()函数。