我第一次尝试使用 SAS 宏。我的基本问题是:我有一个包含 10000 个变量的数据集。我需要单独获取每一列,创建一个新的条件变量,存储结果,然后移动到下一列。这些列不是按顺序排列的。SAS 用于标识列的语法是什么(类似于“ _ N _ ”标识行的方式)?
这里有更多信息。数据看起来像这样:
ID v1 v2 v3 ... v10000
01 3.2 1.5 7.8 ... 4.2
02 1.1 4.5 1.9 ... 10.7
..
N 2.5 1.5 4.9 ... 7.3
我需要查看 v1 的值,计算有多少 obs 高于 x 值,有多少低于 x 值,将这些数字记录在数据集中,然后转到 v2、v3、... v10000。最后,我将有一个数据集,该数据集将显示我的 10000 个变量中的每一个变量高于值 x 的 obs 数和低于值 x 的 obs 数。
我已经编写了代码,因为我会在标准 SAS 代码中为一个变量编写代码并且它可以工作,现在我的意图是将该代码转换为宏代码,但我不知道如何构建一个从一个移动的循环列到下一个。
您可以提供的任何帮助或参考将不胜感激。
谢谢。