SAS程序通常以特定于特定数据集的方式编写。SAS程序员如何创建一个可复制的SAS代码示例,要么向无法访问原始数据的人显示他们的代码有问题,要么在示例中嵌入一些数据——无论是真实的还是人工的——以便其他人可以轻松地运行同一个SAS程序?
由于存在SASHELP
库,SAS中的可再现示例通常可以在不引入任何额外数据的情况下实现。
该库包含许多可用作示例数据的数据集,包括常用的SASHELP.CLASS
和SASHELP.CARS
数据集。这些代码可以用于显示SAS代码的简单示例,这些代码要么与所提供的数据非常吻合,要么不依赖于数据集的细节。它们可用于所有SAS安装。
生成可复制SAS示例的最直接方法是使用datalines
或cards
语句嵌入样本数据。
data have;
input var1 var2 $;
datalines;
1 A
2 B
3 B
;;;;
run;
一些注意事项:
- 数据线必须是数据步骤的最后一条语句,紧跟在运行之前
- 如果数据线包含分号,请使用
datalines4
或cards4
,然后用四个分号终止块。否则,一个就足够了 - 数据线不能包含在宏中-它们必须在打开的代码中
- 您可以在输入语句之前的数据步骤中的任何位置包含
infile datalines;
语句,以便将数据线修改为具有不同于空格的分隔符,或者使用大多数其他infile
选项
在这样的论坛上为问题生成可复制的示例时,最好同时包括have
和want
数据集(或以其他方式明确标记的数据集,指示前代码和后代码(。