我现在有如下的表格:
Stk_Code End_Date Factor1 Factor2 ... FactorN
600519 2012/4/1 0.2 0.8 .... 1.4
每条观测是某支股票,在某一天的N个因子,N在几十的量级,比较大
针对这每条观测,我都想利用这N个因子,和其他给定的矩阵,进行矩阵运算,然后得到几个返回值,都是数值,非向量或矩阵
因此我想在计算完后,再把这几个返回值补回这个表格
不知道用什么办法可以解决这个问题,我想到可以把矩阵的算法写成宏,然后在Data步里用call execute调用
但是有如下问题:
第一,好像SAS的宏只能有一个返回值,我需要多个;
第二,我的宏参数比较多(N个因子),用call execute调用宏的时候会比较麻烦,我也不知道可不可以用临时数组作为宏的参数传进去
另外可行的办法是直接把整个表传到一个矩阵里,然后全部运算用Proc iml进行
但是在Proc iml的矩阵就没法把Stk_Code和End_Date这样的变量传进去做为By变量了(除非把这两个变量全部作为数值考虑)
而且这个表非常大,几十万行,全部整到一个矩阵里我还没有试过
希望高手解答
另我最近在研究R,如果R有好的解决办法,也请不吝赐教,谢谢!