【问题标题】:How to define a function with varying amount parameters?如何定义具有不同数量参数的函数?
【发布时间】:2019-03-26 11:01:08
【问题描述】:

我是 proc fcmp 的新手,我想知道如何在 SAS 中编写具有不同数量参数的用户定义函数,例如 whichc()coalesce()

如果有人能给我一些提示,我将不胜感激。

【问题讨论】:

    标签: parameters sas varying fcmp


    【解决方案1】:

    这是不可能的,尽管您可以按照here 的描述传递数组(转载如下):

    function sas_summation (b[*]) varargs;
       total = 0;
       do i = 1 to dim(b);
           total = total + b[i];
       end;
    return(total);
    endsub;
    run;
    quit;
    
    options cmplib=work.functions;
    
    data one;
      input x1-x5;
    datalines;
    1 2 3 4 5
    2 3 4 5 6
    4 5 6 7 8
    ;
    run;
    
    data two;
    set one;
    array temp (5) _temporary_;
    array perm2 (*) x1-x5;
    do i=1 to dim(temp);
      temp(i)=perm2(i);
    end;
    drop i;
    x=sas_summation(temp);
    run;
    

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2020-07-19
      • 2011-03-20
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多