这里的新SAS程序员..在.NET中,我们可以在一行中为一个行分配一个值,如下所示:
var1 = var2 = var3 = 0;
SAS中有一种语法可以做同等的吗?
答案 0 :(得分:3)
没有
但还有其他方法可以完成这类事情。
最常见的是使用ARRAY和DO循环。
array varlist var1 var2 var3 ;
do i=1 to dim(varlist);
varlist(i)=0;
end;
您可以使用ARRAY语句初始化变量。
array varlist var1 var2 var3 (3*0);
但这仅适用于数据步骤第一次迭代的初始值。
或者你可以有创意并使用宏功能来生成代码。
%sysfunc(tranwrd(var1|var2|var3|,|,%str(=0;)))
如果要将值设置为缺失,可以使用CALL MISSING()函数。
call missing(of var1 var2 var3);
答案 1 :(得分:2)
据我所知,SAS不支持多项任务。
SAS将var1 = var2 = var3 = 0;
评估为var1 = (var2 = var3 = 0);
,如果var1
,则var2 = var3 = 0
的值为1,否则返回0。