SAS - 只保留对所有变量的观察
SAS - Keeping only observations with all variables
我有一个会员信息数据集,我想只保留全年连续注册的人。每个人有 12 个变量,一年中的每个月一个,以及他们在该月注册的天数。有没有办法为每个月变量的值 >1 的数据创建一个子集?
谢谢!
SAS 有各种汇总函数,很可能正是您正在寻找的。如果您必须处理数据中的缺失值,请参阅 min()
(minimum) in particular, as it will allow you to find the minimum of several variables. You may also want to consider nmiss()
(number of missing values) and 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 的语法,您可以通过通读最后 link.
来尝试使用隐式输出
一般来说,最好提出具体问题并展示您当前在 SO 方面的工作,我建议您在学习基础知识时使用 google 来回答您的基本问题。有很多很棒的文档可以帮助您。
我有一个会员信息数据集,我想只保留全年连续注册的人。每个人有 12 个变量,一年中的每个月一个,以及他们在该月注册的天数。有没有办法为每个月变量的值 >1 的数据创建一个子集?
谢谢!
SAS 有各种汇总函数,很可能正是您正在寻找的。如果您必须处理数据中的缺失值,请参阅 min()
(minimum) in particular, as it will allow you to find the minimum of several variables. You may also want to consider nmiss()
(number of missing values) and 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 的语法,您可以通过通读最后 link.
来尝试使用隐式输出一般来说,最好提出具体问题并展示您当前在 SO 方面的工作,我建议您在学习基础知识时使用 google 来回答您的基本问题。有很多很棒的文档可以帮助您。