SAS阵列声明

Jin*_*ang 4 sas wrds-compusat wrds

我正在阅读用于计算NBBOSAS代码,我遇到了以下代码:

array nexb nexb:; array nexo nexo:; array sexb sexb:; array sexo sexo:;
Run Code Online (Sandbox Code Playgroud)

我想知道声明array nexb nexb:;在这里做了什么?

Joe*_*Joe 5

两件事情:

nexb:是带有通配符的变量列表.它将扩展到PDV中所有变量的列表,该变量位于数据步骤中的一步nexb.所以尽可能相同nexb1-nexb17(set虽然不知道语句中的数据集中有什么).它是相同的,只是用来让以后更容易更改,17而不必两次.

array nexb nexb:创建一个数组,它只是一个有组织的变量列表,允许你说nexb[1]而不是nexb1,因为它[1]可以是[i]或其他一些变量,它实际上更有用,而nexb1不能.因此,它允许您一次查看一个变量列表并使用它们或更改它们.数组本身并不存在数组并且不是持久的,它只是引用变量的简便方法.