如Joe所说,如果您对编写自己的函数感兴趣,proc fcmp
是一种方法.这将允许您创建行为类似于SAS函数的函数.它与Python函数非常相似.
这需要一点设置,但它真的很好,因为这些函数都保存在SAS数据集中,可以从一个环境传输到另一个环境.
下面的代码创建了一个名为f()
的函数,其作用与Python函数相同.
proc fcmp outlib=work.funcs.log;
function f(x);
l = log10(20/x);
return(l);
endfunc;
run;
options cmplib=work.funcs;
这需要做三件事:
- 创建一个名为
f()
的函数,该函数接受一个输入x
- 将函数保存在名为
work.funcs
的数据集中,该数据集包含所有函数
- 标记包
log
下的所有功能
不要太担心标签.如果您需要许多不同的功能包,例如:时间、日期、字符串等,那么它很方便.它有助于组织,但它是必需的标签.大多数时候我只做了work.funcs.funcs
次.
options cmplib=work.funcs
表示加载包含所有感兴趣函数的数据集funcs
.
您可以在下面测试您的功能:
data test;
l1 = f(1);
l2 = f(2);
l10 = f(10);
run;
输出:
l1 l2 l10
1.3010299957 1 0.3010299957
此外,SAS确实有一个Python接口.如果您更喜欢用Python编程,take a look at SASPy可以同时获得SAS和Python的所有好处.