我正在编写一个SAS代码,我有以下问题。我有一个财务数据表,我想根据一个变量对数据(股票)进行分组,但我想省略价格(另一个变量)小于5的股票。但是,我不想只是删除在某个日期值小于5的所有股票,因为这样我就需要计算排名股票的回报-因此,如果一只股票现在是10,但它在2个月内是3,我希望在今天的数据中包含它,但在2个月内“不在数据中”。
目前,我的代码是:
proc sort data=umd;
by date;
run;
proc rank data=umd out=umd1 group=10;
by date;
var cum_return;
ranks momr;
run; 你能帮我一下吗?
发布于 2015-03-08 15:53:01
我认为您可以在dataset out=umdi中使用“where=”选项。这不会删除记录,只会删除输出数据集的子集。
proc rank data=umd out=umd1(where=(price > 5)) group=10;
by date;
var cum_return;
ranks momr;
run; https://stackoverflow.com/questions/28919345
复制相似问题