从SAS/IML获取数据

从SAS/IML获取数据,sas,Sas,我在IML中有以下模块作为示例: start multiply (x,y); product = x*y; return product; finish multiply; 我称之为: RUN multiply(2,100); /* outputs 200 */ run multiply(2,100,z); print z; 我想知道的是非常简单的,我怎样才能把它作为一个新变量赋值?在PHP中,我可以做到: function multiply($x,$y){ $pr

我在IML中有以下模块作为示例:

start multiply (x,y);
    product = x*y;
    return product;
finish multiply;
我称之为:

RUN multiply(2,100); /* outputs 200 */
run multiply(2,100,z);
print z;
我想知道的是非常简单的,我怎样才能把它作为一个新变量赋值?在PHP中,我可以做到:

function multiply($x,$y){
    $product = $x*$y;
    return $product;
}
然后做:

$newvar = multiply(2,100);

我需要SAS中的此功能。有可能吗?

我意识到,由于SAS通过引用传递,我们可以传递我们想要的输出变量作为模块的输入参数。所以我们可以写:

start multiply (x,y,z);
    product = x*y;
    z = product;
finish multiply;
我称之为:

RUN multiply(2,100); /* outputs 200 */
run multiply(2,100,z);
print z;

通过引用传递,高效但有风险…

原始问题的答案是将返回值分配给矩阵: 而不是

 RUN multiply(2,100); /* WRONG */
你想要

 product = multiply(2,100);