SAS - 仅保留所有变量的观察结果

时间:2015-02-19 18:50:11

标签: sas subset

我有一个会员信息数据集,我想只保留全年不断注册的人。每个人有12个变量,一年中每个月有一个变量,他们在该月注册了多少天。有没有办法为每个月变量的值> 1的那些数据制作一个子集?

谢谢!

1 个答案:

答案 0 :(得分:0)

SAS具有各种摘要功能,可能就是您正在寻找的功能。特别参见min()minimum),因为它可以让您找到几个变量的最小值。如果您需要处理数据中的缺失值,您可能还需要考虑nmiss()number of missing values)和n()number of non-missing values)。

汇总函数可以传递这样的变量列表(在数据步骤中):

minimum = min(var1, var2, var3);

但是,如果你需要使用很多变量,这可能会变得冗长。幸运的是,SAS提供了几种引用变量列表的方法,使事情变得更整洁。您可以阅读有关这些variable lists here的信息。要在摘要函数中使用它们,请使用of限定符:

minimum = min(of var1-var12);
maximum = max(of var:);
blanks = nmiss(of _NUMERIC_);

最后,您需要使用新发现的数据来决定要包含哪些数据。要在数据步骤中执行此操作,请查看output语句(user guide):

if min(of var:) > 1 then output;

或者,如果您想学习更多关于SAS语法的知识,可以尝试通过读取最后一个链接来使用隐式输出。

一般情况下,我们首选提出具体问题,并在SO上显示您当前的工作,我建议您在学习基础知识的同时使用谷歌来回答您的基本问题。有很多很棒的文档可以帮助你。